Java异常处理方式
Java通过面向对象的方法进行异常处理,一旦方法抛出异常,系统自动根据该异常对象寻找合适异常处理器(Exception Handler)来处理该异常,把各种不同的异常进行分类,并提供了良好的接口。在java中,每个异常都是一个对象,它是Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并可以对其进行处理。Java的异常是通过五个关键字来实现的:try、catch、throw、throws和finally。
在Java应用中,异常的处理机制分为声明异常,抛出异常和捕获异常。
捕获异常用try、catch、finally,将可能出现异常的代码放入try中,只要try中代码捕获到异常,就会和catch括号中的异常类型(可以有多个)进行匹配,一旦匹配成功之后就会执行catch里面的处理逻辑代码,然后就是finally里面的代码一般用于资源的释放或者关闭,比如会话的关闭,数据库资源的释放等,finally里面的代码是无论是否捕获到异常都会执行的。
throw和throws的区别:
- 位置不同
throw:方法内部
throws:方法的声明处 - 内容不同
throw+异常对象(检查异常,运行时异常,还可以是自定义的异常)
throw+异常的类型(可以多个类型,用逗号拼接) - 作用不同
throw:异常出现的源头,制造异常。
throws:在方法的声明处,告诉方法的调用者,这个方法中可能会出现我声明的这些异常,然后调用者对这个异常进行处理,要么自己处理,要么在继续向外抛出异常。