Java学习笔记(2)
异常处理
Java是一门面向对象的编程语言,异常在Java语言中也是作为类的实例的形式出现的。
Java类库的每个包中都定义了异常类,所有这些类都是Throwable 类的子类。由其派生出两个类,分别是Error和Exception类。Error类及其子类描述Java运行系统中的内部错误以及资源耗尽的错误。Exception类可以通过捕捉处理使程序继续执行。
Error
该类定义了常规环境下不希望由程序捕获的异常,比如OutOfMemoryError、ThreadDeath 等,这些错误发生时,Java虚拟机(JVM)一般都会选择线程终止。
Exception
Exception 是程序本身可以处理的异常,主要分为运行时异常和非运行时异常
运行时异常
这些异常是RuntimeException类及其子类,如NullPointerException、IndexOutOfBoundsException等。
RuntimeException异常
异常类 | 说明 |
---|---|
ClassCastException | 类型转换异常 |
NullPointerException | 空指针异常 |
ArrayIndexOutOfBoundsException | 数组下标越界异常 |
ArithmeticException | 算数异常 |
ArrayStoreException | 数组中包含不兼容的值抛出的异常 |
NumberFormatException | 字符串转换为数字抛出的异常 |
IllegalArgumentException | 非法参数异常 |
FileSystemNotFoundException | 文件系统未找到异常 |
SecurityException | 安全性异常 |
SrtingIndexOutOfBoundsException | 字符串索引超出范围异常 |
NegativeArraySizeException | 数组长度为负异常 |
非运行时异常
非运行时异常是RuntimeException类及其子类以外的异常。如IOException、SQLException以及用户自定义的异常
异常类 | 说明 |
---|---|
ClassNotFoundException | 未找到相应类异常 |
SQLException | 操作数据库异常类 |
IOException | 输入/输出流异常 |
TimeoutException | 操作超时异常 |
FileNotFoundException | 文件未找到异常 |
抛出异常
-
try…catch抛出
-
throw抛出:语法 throw new 异常类型名(异常信息)