栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

明确解释系统异常与应用程序异常

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

明确解释系统异常与应用程序异常

当存在业务逻辑错误而不是系统错误时,应引发应用程序异常。

有一个重要的区别: 应用程序异常不会自动导致事务回滚 。抛出应用程序异常后,客户端有机会恢复。

应用程序异常被发送到客户端,而没有被重新包装为EJBException。因此,您可以使用它们来报告验证错误或业务逻辑问题,并且它们将到达客户端。

是否包括所有异常,运行时和已检查的异常,而不管其来源如何?

否。默认情况下,应用程序异常是不扩展RuntimeException或RemoteException的异常。您可以如下所述进行更改。

如何使用ApplicationException批注影响行为?

如果要自动回滚事务,可以使用@ApplicationException(rollback = true)。

您还可以在RuntimeException和RemoteException的子类上使用注释,以避免包装为EJBException,并定义它们的自动回滚行为。

其他Java EE库抛出的异常又如何呢?

它们将遵循相同的规则,但是您可以使用XML描述符将第三方类声明为应用程序异常(有或没有自动回滚)。

提供程序代码引发的其他异常呢?

不确定,我认为您很少会看到来自提供程序代码的非系统错误(远程或运行时异常)。

如果将异常包装在EJBException中,会有所不同吗?

是。这将影响您如何处理客户端代码中的异常。

(参考:Enterprise JavaBeans 3.0,Bill Burke,O’Reilly)

希望对您有所帮助。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497522.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号