跳转至

ev-drogon-noexcept-result-accessors-001

字段 值
项目 drogonframework/drogon
固定 commit 3aae769cc405
路径 orm_lib/src/Result.cc
行段 L121-L134
特性 noexcept 异常说明
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-11-04
测试代码 否
发现方式 manual

用法

查询接口与 swap 标注 noexcept,声明不抛异常

为什么典型

size、swap、columns 只转发指针上的操作,不会抛出业务异常;标注 noexcept 让调用方和标准容器能据此选择更高效的路径。

摘录

Result::SizeType Result::size() const noexcept
{
    return resultPtr_->size();
}

void Result::swap(Result &other) noexcept
{
    resultPtr_.swap(other.resultPtr_);
}

Result::RowSizeType Result::columns() const noexcept
{
    return resultPtr_->columns();
}

备注

生产实现文件;同类中真正的查询与移动操作使用 noexcept,而可能分配或抛出的接口不标注。

查看固定 commit 源码 · 返回证据索引