catch异常和throw异常的区别
Posted woyujiezhen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了catch异常和throw异常的区别相关的知识,希望对你有一定的参考价值。
我只想讲讲我在项目中遇到问题,并不仔细分析和研究。
今天项目启动,报了个NullPointException,然后项目就结束运行了,后来在大哥的指导下加了个catch,因为这是一个定时器导致的,而这个定时器是进行了频繁的http请求,如果网络不稳定,数据获取失败,这个NullPointExcepion是可能经常性的,然后后面因为我代码中并没有对这个可能产生的空指针进行处理,所以这个异常一致往上抛,最后就到了最外层导致了程序的运行结束。这个可以理解成我们写一个main方法,然后直接throws异常,出了异常这个main方法就直接挂了。
但是我们如果写一个catch,我们自己处理这个异常而不是把他抛出,例如只在catch中log.error(e.getMessage),那么只会把异常信息写入日志,而不把异常抛出到最外层,就能确保程序的正常运行,因为我们不能因为一个不稳定的定时器就导致整个程序结束,然后一出现异常就要求重启服务器。
以上是关于catch异常和throw异常的区别的主要内容,如果未能解决你的问题,请参考以下文章