异常处理
- Error和Exception的区别
1)Error类,表示仅靠程序本身无法恢复的严重错误,比如内存溢出,动态链接异常,虚拟机错误
2)exception类,由java应用抛出和处理的非严重错误,比如所需文件没有找到,零做除数,数组下标越界等。各种不同子类对应不同类型异常。可分为:checked异常和runtime异常
3.Java异常处理try-catch-finally的执行过程
程序执行可能发生异常的try语句块--》如果try语句没有出现异常则执行完后跳至finally语句块执行--》如果try语出现异常,则中断执行调到响应的catch语句块执行--》catch语句块执行完后程序会继续执行finally语句块--》finally语句块是可选的,如果有的话,则不管是否发生异常,finally都会执行。
4.异常处理中throws和throw的区别
作用不同:throw用于程序员自行产生并抛出异常;throws用于该方法内抛出了异常
使用位置不同:throw位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表后面,不能单独使用。
内容不同:throw抛出一个异常对象,且只能是一个;throws后面跟异常类,可以有多个。