我正在编写EJB3应用程序,并且想知道异常处理策略。我将会有一些检查过的应用程序异常和一些运行时应用程序异常。我知道我可以在我的客户端捕获它们,但是如果会抛出另一个常规的运行时异常怎么办?它会被包装在EJBException中,对吧?如果是这样,我是否应该捕获此异常?或者,假设我只希望以不同的方式处理运行时异常的子集(例如,能够显示比"Business service call failed“更详细的消息)。对于常规EJB应用程序和Struts2客户端,您的异常结构和处理策略是什么?
在应用程序中抛出一般异常时,必须通过堆栈跟踪来确定抛出异常的位置和原因。
(...)通过自定义异常,我们可以很容易地识别异常来自应用程序的哪个部分。
我还是不明白。默认异常堆栈跟踪指示原始抛出异常的行。
function foo($i)
{
if ($i<0){
throw new Exception("<0");
}
if ($i>0){
throw new Exception(">0");
}
}
try {
foo(1);
} catch (Exce