记录重新引发错误的函数
Documenting a function that re-throws an error
我想知道在doxygen中记录以下内容的正确方法是什么。
有一个定义一些验证器的类,例如:
class Validators {
/**
* @fn A
* @brief sees if x is too large.
* @param[in] x the input to validate
* @throws runtime_error when otx is too large.
*/
static void A(int x) {
if (x > 5) {
throw std::runtime_error("x too large");
}
}
};
在函数中使用此 valdator,例如:
#include "validator.h"
class MyClass {
public:
void setX(int x) {
Validators::A(x);
}
};
我应该如何记录setX()
重新抛出A()
抛出的runtime_error,或者我根本不应该记录?
您应该记录它对调用者意味着什么。 例如
class MyClass {
public:
/**
* @brief sets X
* @param[in] x the new X
* @throws runtime_error when x is invalid.
*/
void setX(int x) {
Validators::A(x);
}
};
为了巧妙地做到这一点,我不得不稍微改变一下我的代码:
#include "validator.h"
class MyClass {
public:
void setX(int x) {
try {
Validators::A(x);
}
catch (std::runtime_error & e) {
throw e
}
}
};
这样做再次将@throws
添加到 Doxygen s 是有意义的,现在它显然被重新抛出。
相关文章:
- "error: no matching function for call to"构造函数错误
- 为什么类中的ostringstream类型的成员会导致";调用隐含删除复制构造函数";错误
- 尝试将unique_ptrs推送到向量时使用纯虚拟函数错误
- C++ OpenCV 卡尔曼滤波器构造函数错误
- C++:用户定义的显式类型转换函数错误
- C++ 合并字符串以'system'函数错误
- C++ wmain 函数错误时使用 Unicode
- 结构数组的构造函数错误,错误消息:没有构造函数实例与参数列表匹配
- C++ 中常量属性的初始化构造函数错误
- 线程 std::调用未知类型,无法专门化函数错误
- 表单显示对话框函数错误,并且不执行下面的语句
- 函数错误 C2059:语法错误:'>'不起作用
- STL向量上出现奇怪的复制构造函数错误
- C++ Visual Studio 重载函数错误:没有重载函数的实例与指定的类型匹配
- C++引用已删除函数错误
- 为什么通过带有文字编号的引用调用会出现"无匹配函数"错误?
- C++ 乘法定义的构造函数错误消息似乎错误
- 在 c++ 代码中将数组传递给函数错误
- FFMPEG avcodec_decode_video2函数错误代码
- 为什么我会收到转换函数错误