架构设计之异常处理(第一讲)

本文详细解释了Java异常处理机制,包括Error、Exception和RuntimeException的区别。介绍了如何在实际开发中合理使用异常处理来提高程序的健壮性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘自51CTO ,感觉挺有道理的一段话,如下:


1、通常异常是用于去扑捉错误的发生,让开发人员可以针对不同的错误做处理,但是有时候可以利用异常去处理一些特殊问题。你说的Dao、Service、Action或者说工具类的异常,是否往上抛取决于你是否想捕获该异常并做处理,例如:HibernateException异常,在写Dao方法时一般会捕获该异常的。又比如:在写用户登录接口时,如果用户不存在,我可以选择自定义异常UserNotFoundException,在ACtion层中调用Service层的Login方法,如果用户不存在,我将该异常抛出,那么Action层便可以扑捉到该异常,并做出处理。如果你要去了解他们的异常是否是throw,还是try -- catch,最好看源码。如果是throw那么你在调用的时候,就必须try -- catch或者再往上一层应用抛出。

2、至于java异常的机制,主要分为Error,Exception、RuntimeException;
Error:是JVM处理的,一般不用去管理;
Exception:是必须捕获的异常
RuntimeException:也称之为运行期异常,java自己会处理该异常,当然也可以用try -- catch捕获
3、总结:
    在实际开发中,通常回去使用日志记录异常的发生,这些日志一部分是DEBUG日志,一部分用于数据统计。但是不管咋么样,如果你想知道错误的发生来源,并通过自己的日志管理方式管理,那么通常会手动去扑捉(try-catch)异常,然后通过e.getMessage获取异常信息,将其记录在日志中,如果自己不管理,例如:在Tomcat服务器中,会记录在catalina.out日志文件中。
    异常的重要性那是不言而喻的,至于楼主说的怎么往上抛,怎么捕获。不应该去考虑框架本身如何去管理,而是在于你是否需要错误处理,如果需要就try--catch,不需要那么交由给框架或者Tomcat等服务器记录异常的发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知乎关注八戒来了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值