异常:中断了正常指令流的事件,是JVM虚拟机产生的对象
异常是程序运行时产生的,和编译无关
class Test{ public static void main(String args[]){ System.out.println(111111); int i = 1 / 0; System.out.println(222222); } }
以上为算术异常(属于RuntimeExcepiotn的子类)信息,当出现异常后,将不再执行异常后面的语句。
异常的分类:由JDK提供的类
所有的异常类都是Throwable的子类。Throwable两个直接子类为Exception和Error。Error指JVM产生的错误,一旦产生错误,JVM则会关闭,程序也就不复存在了,程序员对Error无能为力。Exception也可以分为uncheckException和checkException。uncheckException包括了RuntimeExcepiotn和RuntimeExcepiotn的子类。Exception的直接子类中除了RuntimeExcepiton外都属于checkException
uncheckException和checkException的区别:
当程序有可能出现checkException时,编译器会强制要求你对可能会出现异常的代码进行处理、捕捉。
使用try…catch…finally捕捉处理异常
class Test{ public static void main(String args[]){ System.out.println(111111); try{ System.out.println(222222); int i = 1 / 0; System.out.println(333333); } catch(Exception e){ e.printStackTrace(); System.out.println(444444); } finally{ System.out.println(555555); } System.out.println(666666); } }
当程序运行出现异常则调到catch中去执行,如果没有异常就不执行catch中的代码,而finally中的代码不论是否有异常都会执行。
时间: 2024-12-21 00:09:26