代码模式:中断一次执行循环



请考虑以下设计模式:

do {
// Some logic here
if (AnErrorOccurs()) {
break;
}
// Some more logic here
if (ADifferentErrorOccurs()) {
break;
}
// Code completed successfully
return someValue;
} while (false);
// Lengthy error-handling code here
return errorCode;

以这种方式使用循环是否合适?我只是想要break语句的功能,以便我可以将错误处理代码放在一个地方。一个单独的方法也可以,但假设范围内有大量变量,作为参数传递会很笨拙或不安全。

还是try-finally模式是处理这种情况的更好方法?还是抛出一大堆自定义异常?我只是想看看其他人如何处理它,以获得最整洁和最易于维护的代码。

我认为如果你想处理异常,你应该使用try catch语句而不是do while,因为代码应该能够自我记录,而无需在这里和那里放置注释。如果你想在代码中处理异常,try catch语句看起来不是更合适吗?话虽如此,我认为最好在try catch中使用自定义例外来处理您的特定异常。

异常将在需要任何特定条件的方法中引发。例如,Convert.toInt32(string s)此处。当条件不满足时,此Convert.toInt32(string s)将抛出FormatExceptionOverflowException。 该方法没有try catchtry catch将放置在调用Convert.toInt32(string s)的方法中。

最新更新