我很确定我已经知道答案,但是我仍然很好奇在处理 Try,Catch,Finally 块中的错误的意见是什么——但是当你重复自己时。
顺便说一句-我不是在谈论用户输入-而是以它为例,因为它清晰而简短
考虑一下这段代码......
try {
if (success) {
return someSuccessMessage;
}
else {
logError("User input not correct format");
return someErrorMessage; // repeats itself
}
}
catch (Exception ex) {
logError(ex.Message);
return someErrorMessage; // repeats itself
}
假设我们有一个函数,如果它失败了,我们希望返回一条错误消息,因为异常无关紧要——我们的函数没有成功,用户不需要任何额外的细节。
我一直认为,如果您可以处理错误,请避免异常-因为它不再异常,但是我想知道关于避免重复自己的意见...您可以执行以下操作来避免重复你自己...
try {
if (success) {
return someSuccessMessage;
}
else {
throw new Exception("User input not correct format");
}
}
catch (Exception ex) {
logError(ex.Message);
return someErrorMessage;
}
这不是最好的例子,但为了简洁起见,我想强调重复代码。
已知异常会导致性能损失,但是对于这种情况有什么想法呢?