我知道这是主观的,但应该在最低级别或更高级别捕获异常。我问是因为我通常这样做
try
{
//..
}
catch
{
//LOG
}
所以当我实现一些“低级”功能时,比如
std::string read_from_file(const std::string& file_name);
我不确定我应该怎么做:
1)让调用者处理异常。
2) catch (log?) and rethrow
3) catch 和 change 函数,使得 bool 是返回类型(try 中的最后一行是 return true;catch 中的最后一行是 return false;)。我不喜欢这个,但我已经看过很多次了。
4)???