处理异常
Working with Exceptions
喂!我想征求有关使用异常的建议。我想简化这个...
if (functionSomething1) and (functionSomething2) and (functionSomething3) then
Do Something Good
else
Raise Exception(errormsg_functionSomething1IsFalse or errormsg_functionSomething2IsFalse or errormsg_functionSomething3IsFalse);
我的所有函数都返回一个布尔值。
逐一获取错误消息的最佳方法是什么?
例如...
如果 functionSomething1 是 False 那么我应该得到 errormsg_functionSomething1IsFalse
如果 functionSomething2 是 False 那么我应该得到
errormsg_functionSomething1IsFalse 等...
我认为 If-then-else 不是一个好的解决方案。
案例或尝试除外?你怎么看?
感谢您的回答!
像这样:
if not functionSomething1 then
raise EMyException.Create(errormsg_functionSomething1IsFalse);
if not functionSomething2 then
raise EMyException.Create(errormsg_functionSomething2IsFalse);
if not functionSomething3 then
raise EMyException.Create(errormsg_functionSomething3IsFalse);
// do something good
或者在 FunctionSomethingX 中引发异常,尽管这样就不需要它们 return 布尔 'success' 值。
这样做的好处是 FunctionSomethingX 可能了解它失败的原因,因此 return 一个更具描述性的错误消息。
缺点是所有其他调用 FunctionSomethingX 的地方都需要处理它们引发的异常。
喂!我想征求有关使用异常的建议。我想简化这个...
if (functionSomething1) and (functionSomething2) and (functionSomething3) then
Do Something Good
else
Raise Exception(errormsg_functionSomething1IsFalse or errormsg_functionSomething2IsFalse or errormsg_functionSomething3IsFalse);
我的所有函数都返回一个布尔值。
逐一获取错误消息的最佳方法是什么?
例如... 如果 functionSomething1 是 False 那么我应该得到 errormsg_functionSomething1IsFalse
如果 functionSomething2 是 False 那么我应该得到 errormsg_functionSomething1IsFalse 等...
我认为 If-then-else 不是一个好的解决方案。
案例或尝试除外?你怎么看?
感谢您的回答!
像这样:
if not functionSomething1 then
raise EMyException.Create(errormsg_functionSomething1IsFalse);
if not functionSomething2 then
raise EMyException.Create(errormsg_functionSomething2IsFalse);
if not functionSomething3 then
raise EMyException.Create(errormsg_functionSomething3IsFalse);
// do something good
或者在 FunctionSomethingX 中引发异常,尽管这样就不需要它们 return 布尔 'success' 值。
这样做的好处是 FunctionSomethingX 可能了解它失败的原因,因此 return 一个更具描述性的错误消息。
缺点是所有其他调用 FunctionSomethingX 的地方都需要处理它们引发的异常。