异常处理的五个关键字:try、catch、finally、throw、throws
try即尝试,是监控区域,尝试能不能正常的走完整个作用域,如果不能则抛出一个异常。所以在try块里经常放上可能会抛出异常的程序段。
catch就是处理try里抛出来的异常,其中catch的参数列表接收的是一个异常的引用,是throw抛出来的异常的引用。其中try和catch可以嵌套引用。 用法:catch(想要捕获的异常类型){...}
finally用来处理善后工作(即在IO流或者跟资源相关的东西需要关闭,关闭的操作放在finally里面),一般接在try...catch后面。无论有没有出现异常finally都会执行。但是在出现没有进入try之前就报错的情况下,finally不会执行。
throw就是主动抛出一个异常,并获取这个异常的引用,这个异常会被抛到外部的环境,由外部环境进行处理。一般在方法中。
throws就是向上抛出异常,可以无限向上抛出,直到抛给main方法,main方法就抛给JVM虚拟机去解决。在方法中处理不了这个异常,在方法上抛出异常。
捕获异常的意义在于,如果异常不捕获,运行就会停止;异常被捕获后,将不会停止程序,继续运行。
例1:
try...catch + finally
例2:
catch的用法:
例3:
若捕获多个异常,应从大到小(例:先 catch(Error)再 catch(Throwable))
例4:
快捷键:选中代码按 Ctrl + Alt + T
例5:
throw与throws的用法
例6:
结束代码的运行
System.exit(0);