【发布时间】:2012-06-11 09:28:22
【问题描述】:
我知道这是主观的,但应该在最低级别或更高级别捕获异常。 我问是因为我通常这样做
try
{
//..
}
catch
{
//LOG
}
所以当我实现一些“低级”功能时,比如
std::string read_from_file(const std::string& file_name);
我不知道该怎么办:
1) 让调用者处理异常。
2) 捕获(记录?)并重新抛出
3) catch 并改变函数,使 bool 为返回类型(try 的最后一行是 return true;catch 的最后一行是 return false;)。我不喜欢这个,但我已经看过很多次了。
4) ???
【问题讨论】:
-
视情况而定,但通常(1)让调用者处理异常,或者 Catch、Log、rethrow...