Java的异常机制

异常:Exception,程序运行过程中因为一些原因,使得程序无法运行下去
注意:在程序能够运行起来的情况,不是程序编译通不过
举例:读文件,点击一个按钮,文件不存在;访问数据库服务器,数据库服务器停电了
(1)异常的出现
由于运行中遇到预想不到的情况
(2)异常的性质
1)出现异常,程序全部终止,不运行后面的代码
2)当出现异常时,系统会将异常封装在一个类的对象中,通知系统终止(抛出异常)。
如果任由软件出现异常,软件将非常不稳定,质量很低


(3)异常如何处理?
1)用try将可能出现异常的代码包围起来
2)将出现异常之后的处理代码用catch包围起来,放在try的后面

原理:系统运行try中的代码,如果没有异常,将不会运行catch中的代码;如果出现异常,将略过try中剩余的代码,转而执行catch中的代码,catch中代码执行完毕之后,再执行软件剩余的代码

注意:
一个try后面可以接1个或多个catch,catch中的异常类型不同,捕捉不同的异常,catch中如果写
catch(Exception e)
则捕捉所有异常

还有一个finally,用在catch后面,可用可不用,最多只能用一个
finally中,保存不管是否出现异常,一定要执行的代码
举例:打开一个文件,读文件,关闭文件连接
在读文件过程中不管是否出现异常,关闭文件的工作一定要做

finally并不是可有可无的!

finally中的代码,只要整个软件还在运行,不管当前作用域是否结束,都会执行一次。如果不将代码放在finally中,就不会有这样的效果。


try-catch-finally
try只有1个,catch1个以上,finally最多1个

------异常的其他应用
(1)通过异常改变程序行为
举例:输入一个数,显示该数平方。但是,如果输入格式不是数字,将反复出现输入框,直到输入正确为止。
(2)通过自定义异常来封装程序错误信息
举例:编写一个函数,输入一个年龄,0-100之间,返回年龄给主函数。否则返回“范围错误”给主函数。

一般情况下,函数中如果有throw标记,说明它可能会抛出异常。此时,函数定义上应该加上throws标记

你可能感兴趣的:(Java的异常机制)