Neo*_*ana 6 c++ exception-handling
假设我正在使用一个具有to_int带字符串参数的函数的库.如果字符串是数字的字符表示,则此函数返回int,例如"23"将返回23.如果字符串不是数字,则抛出一个std::runtime_error.是否会更好:
if(is_all_digits(str))
    x = to_int(str);
else
    output("not an int, idiot. Try again");
要么
try 
{
    x = to_int(str);
}
catch(...)
{
    output("not an int, idiot. Try again");
}
如果捕获的异常确实是特定的,那么您可以使用特定的 try catch (使用通用的 try catch 不是一个好主意,因为您隐藏了一堆其他可能的错误)
一般来说,我的偏好是在将字符串传递给函数之前检查该字符串。
| 归档时间: | 
 | 
| 查看次数: | 100 次 | 
| 最近记录: |