前言
java中经常会出现异常,报错,而java处理异常的基本方式是中端处理。
那小编从异常出现和处理方式两个方面为大家分享java中处理异常
异常
Throwable是所有异常的分类,下边有两个子类,一个是Error,一个是Exception。
Error异常需要重新修改源代码才可以解决,程序不做处理,一般很少见,而exception分为运行时异常和非运行也就是编译时异常,可通过try -catch 来处理,无需修改源代码。
异常处理机制
想象一下:比如我定义了一个方法,在方法里定义了一个数组,数组里有3个元素,那么索引就是从0-2.但是我在main方法里调用此方法时要访问第3个索引的值,可想而知,系统就会报出异常吧!
那么系统报出异常是什么样的机制呢?
① 访问了数组中3索引,而数组是没有3索引的,这时候,jvm就会检测出程序会出现异常。
jvm就会做两件事情
- jvm会根据异常产生的原因创建一个异常对象,这个异常对象包含了异常产生的(内容,原因,位置)
- 在创建数组的方法里,没有异常的处理逻辑(try-catch)那么jvm就会把异常对象抛出给方法的调用者main方法来处理这个异常。
② main方法接收到了这个异常对象,main方法也没有异常的处理逻辑(try-catch),就会继续把对象抛出给main方法的调用者jvm处理
③ jvm接收到了这个异常对象,做了两件事情
- 把异常对象(内容,原因,位置)以红色的字体打印在控制台
- jvm会终止当前正在执行的java程序–>中断处理
异常处理方式
- throw :指定的位置抛出指定的异常
- object:非空判断
- try-catch:自己处理异常,后边代码可以继续运行