Java异常处理、自定义运行和编译异常及释放资源try-with-resouce
2023-12-20 10:07:13
定义
异常的体系
main方法是JVM调用的,如果main方法把异常抛给JVM,则JVM内部还是会用try catch把异常进行处理,控制台返回相关异常信息。
自定义异常(运行时异常、编译时异常)
throws用于方法抛异常。throw new 异常类用于语句中
1.自定义运行时异常
1.在自定义异常类extends RuntimeException并重写有参和无参构造器,然后构造器内部super(自定义异常信息)
2.自定义编译时异常
1.extends Exception,然后重写无参构造器和有参构造器方法调用super(自定义信息)
异常的处理
异常提高系统的健壮性(容错),提高用户体验。
推荐的异常处理
不推荐的异常处理
1.响应合适的信息给用户
示例代码:
对异常信息相应直观的信息。
对任何异常都抛出用throws Exception ,捕获异常的话直接写catch(Exception e),好处是对异常做统一处理,但是坏处是不能对单个异常,做单个特殊异常处理。
2.尝试修复
示例代码:
finally
示例代码:
1.无异常,执行finally
2.出现异常,仍然执行finally
3.无finally,但捕获到了异常,下面代码可正常执行
4.try、catch中出现return,finally还是会执行
5.除非虚拟机终止,finaly才不会执行,见下图
6.尽管try,catch有return,但只要finally中有return,那么return的值一定是finally中的return的值
finally中一般用来释放资源,不太推荐return返回值
释放资源
释放资源(try-with-resource方法)
1.try-catch-finally(代码比较复杂,但也可以使用)
2.try-witch-resource(代码简洁)
try-catch执行完成后,会自动执行资源的close()方法
图1-1
格式:
try(
资源
)
资源就是该类实现AutoCloseable接口或者它的父类实现了AutoCloseable也算该子类实现了哦,在代码执行后会自动执行重写的close()方法,如上图1-1。
文章来源:https://blog.csdn.net/qq_62614525/article/details/135097544
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!