异常是发生在程序执行过程中阻碍程序正常执行的错误事件。 比如:用户输入错误数据、硬件故障、网络阻塞等都会导致出现异常。只要在Java语句执行中产生了异常,一个异常对象就会被创建,JRE就会试图寻找异常处理程序来处理异常。如果有合适的异常处理程序,异常对象就会被异常处理程序接管,否则,将引发运行环境异常,JRE终止程序执行。 Java异常处理框架只能处理运行时错误,编译错误不在其考虑范围之内。
代码不存在错误:
先执行finally的内容,再执行return终止语句。
使用system.exit(0),可以直接跳出,不执行finally语句。
引发多种类型的异常
排列catch 语句的顺序:先子类后父类发生异常时按顺序逐个匹配只执行第一个与异常类型匹配的catch语句例如:
throws:用来声明一个方法可能产生的所有异常,不做任何处理而是将异常往上传,谁调用我我就抛给谁。
用在方法声明后面,跟的是异常类名可以跟多个异常类名,用逗号隔开表示抛出异常,由该方法的调用者来处理throws表示出现异常的一种可能性,并不一定会发生这些异常throw:则是用来抛出一个具体的异常类型。
用在方法体内,跟的是异常对象名只能抛出一个异常对象名表示抛出异常,由方法体内的语句处理throw则是抛出了异常,执行throw则一定抛出了某种异常