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,而可能分配或抛出的接口不标注。