Delphi 处理例外情况

Delphi 处理例外情况,delphi,delphi-xe,Delphi,Delphi Xe,嘿!我想征求一下关于使用异常的建议。我想简化这个 if (functionSomething1) and (functionSomething2) and (functionSomething3) then Do Something Good else Raise Exception(errormsg_functionSomething1IsFalse or errormsg_functionSomething2IsFalse or errormsg_functionSomething3

嘿!我想征求一下关于使用异常的建议。我想简化这个

if (functionSomething1) and (functionSomething2) and (functionSomething3) then
  Do Something Good
else
  Raise Exception(errormsg_functionSomething1IsFalse or errormsg_functionSomething2IsFalse or errormsg_functionSomething3IsFalse);
我所有的函数都返回一个布尔值

逐个获取错误消息的最佳方法是什么

例如。。。 如果functionSomething1False,那么我应该得到errormsg\u functionSomething1IsFalse

如果函数something2False,那么我应该得到 errormsg\u函数某些东西1isfalse等

我认为如果那样的话,否则不是一个好的解决办法

案件还是审判?你觉得怎么样

谢谢你的回答

像这样:

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中引发异常,尽管它们不需要返回布尔值“success”

这样做的好处是FunctionSomethingX可能理解了失败的原因,因此返回了更具描述性的错误消息

这种方法的缺点是,调用FunctionSomethingX的所有其他地方都需要处理它们引发的异常