在try catch块中,从C ++中的catch块返回值是不好的做法吗?
try
{
//Some code...
return 1;
}
catch(...)
{
return 0;
}
使用try / catch的哪种方法是很好的做法?
答案 0 :(得分:28)
不,只要返回的值表示您想要的值,您就可以随时返回。 (如果已分配,请确保已清除内存。)
答案 1 :(得分:7)
我更喜欢在我的代码中有几个退出点,所以我会写:
int rc = 1;
try {
// some code
}
catch(...) {
rc = 0;
}
return rc;
当我只需要跟踪一个return语句时,我发现调试和读取代码更容易。
答案 2 :(得分:1)
我建议如果您不知道代码抛出了什么样的异常,那么您可以这样做。但在这种情况下,客户端必须根据返回值采取行动。
但是如果你创建用户定义的异常并抛出它会更好,这样客户端就可以知道发生了什么。这就是异常的实际用途,建议用于图书馆作者。
答案 3 :(得分:-1)
是一个很好的做法,让它在try / catch块之后返回函数的末尾。