Java中的异常Exception与处理方式详解
作者:好奇的7号
这篇文章主要介绍了Java中的异常Exception与处理方式详解, Java语言中,将程序执行中发生的不正常情况称为"异常"(开发过程中的语法错误和逻辑错误不是异常),需要的朋友可以参考下
一. 五种异常
在异常Exception父类下有5个子类异常:
1.空指针异常NullPointerException
String name = null; try { System.out.println(name.length());//空指针异常 } catch (Exception e) { e.printStackTrace(); }
2.转型异常ClassCastException
例如:没有继承关系不能向下转型,否则~
3.数组越界异常ArrayIndexOutOfBoundsException 4.编译异常
还没运行就已经有错误,比如口没对好。
5.运行异常
语法上没什么问题,但运行起来会出问题,比如除以0。
注意:编译异常必须解决,运行异常不需要显式处理。
二. 异常如何处理(抛出)
方法1: try—catch
希望出现异常后程序继续运行,则在选中语句后,采用:
ctrl+alt+t,选择try-catch即可。
方法2: throw
在出现异常的条件下的方法体内直接throw出异常:执行throw则一定抛出了异常
可以理解为,在编程之前就预想到可能发生的异常,那么:
if(预想的异常情况出现){ throw new 相应的异常();//可以是自定义的异常} //还可以在括号内写上出现异常时的”输出语句“
即:既要 发现 异常,又要 处理 异常。
另外:这种具有针对性的声明只能抛出单个异常
方法3: throws
与throw方法不同,throws跟在方法声明后面,扔出使用此方法可能发生(或者在定义可能出现异常的变量的当前类后面throws出异常)的异常。
其只是发现异常,而不处理,交给方法的调用者来处。
并且一次可以抛出多个异常。
例如:
public static void method() throws ArithmeticException,Exception{ ...; }
三. 自定义异常
创建一个自己命名的class来继承运行异常RuntimeException
然后结合throw,就可以扔出这个自己命名类的异常了。
到此这篇关于Java中的异常Exception与处理方式详解的文章就介绍到这了,更多相关Java的异常Exception内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!