如何强调该功能可能会抛出?
How to emphasize that function may throw?
考虑以下函数:
void checkPlayerCounter() {
if (playerCounter != consts::numberOfPlayers) {
throw std::runtime_error("Detected " + std::to_string(playerCounter)
+ " player instead of " + std::to_string(consts::numberOfPlayers));
}
}
该函数可能会抛出异常,为了便于阅读,我想在头文件中的函数声明中强调这一点。我怎样才能做到这一点?
我正在寻找类似的东西:
void checkPlayerCounter() may throw;
您可以明确使用 noexcept(false)
。就在你建议的地方:
void checkPlayerCounter() noexcept(false);
不幸的是,noexcept
无法避免双重否定。另一种选择是评论:
void checkPlayerCounter(); // may throw
也就是说,除非另有说明,否则无论谁阅读声明,都应始终假设该函数可能会抛出异常。
/**
* @throws std::runtime_error
*/
void checkPlayerCounter();
考虑以下函数:
void checkPlayerCounter() {
if (playerCounter != consts::numberOfPlayers) {
throw std::runtime_error("Detected " + std::to_string(playerCounter)
+ " player instead of " + std::to_string(consts::numberOfPlayers));
}
}
该函数可能会抛出异常,为了便于阅读,我想在头文件中的函数声明中强调这一点。我怎样才能做到这一点?
我正在寻找类似的东西:
void checkPlayerCounter() may throw;
您可以明确使用 noexcept(false)
。就在你建议的地方:
void checkPlayerCounter() noexcept(false);
不幸的是,noexcept
无法避免双重否定。另一种选择是评论:
void checkPlayerCounter(); // may throw
也就是说,除非另有说明,否则无论谁阅读声明,都应始终假设该函数可能会抛出异常。
/**
* @throws std::runtime_error
*/
void checkPlayerCounter();