RuntimeException 运行时异常 逻辑异常
CheckedException 已检查异常
RuntimeException 运行时异常 逻辑异常
package cn.cn.异常;
/*
RuntimeException 运行时异常 逻辑异常
CheckedException 已检查异常
ArithmeticException 加判断
*/
public class TestException {
public static void main(String[] args) {
//ArithmeticException异常
int a=0;
int b=5;
//System.out.print(b/a);
//处理加判断
if(a!=0){
System.out.print(b/a);
}
//空指针异常NullPointerException
String str=null;
//str.length();
//处理加判断
if(str!=null){
str.length();
}
//异常.ClassCastException
Animal d=new Dog();
Cat c=(Cat)d;
//处理可以加判断
//数组越界NumberFormatException 处理加判断 使用正则判断
}
}
class Animal{
}
class Dog extends Animal{
}
class Cat extends Animal{
}
CheckedException 已检查异常 通过编译器处理
/*
try 语句用来存放的是可能是发生异常的语句
catch用来激发被捕获的异常
finall异常结构执行的部分
*/
try{
//程序代码快
}catch(Exception e){
//对 Exception 1的处理
}catch(Exception e){
//对 Exception 2处理
}final {
//程序快
}
·finally语句块
完整的异常处理语句一定要包含finally语句,无论程序中有无异常 并且无论try-catch语句是否顺利执行完 都会执行finally
自定义异常
- 创建自定义异常类
- 在方法中通过throw关键字抛出异常
- 如果在当前抛出异常的方法中处理异常,可以使用try-catch语句来捕获并处理,否则在方法的声明通过throws关键字指名要抛出的异常
- 在出现异常方法的调用者中捕获异常
public class MyException extends Exception{ //创建自定义异常
public MyException(String ErrorMessage){ //钩造方法
super(ErrorMessage); //父类构造方法
}
}
在方法中抛出异常 使用throws关键字抛出异常(常用)
Java常见的异常
异常类 | 说明 |
---|---|
ClassCatExcetion | 类型转换异常 |
ClassNotFoundExceotion | 未找到相应类异常 |
ArithmeticExcetion | 算数异常 |
ArrayIndexOutOfBoundsExcetion | 数组下标越界异常 |
ArrayStoreExcetion | 数组中包含不兼容值抛出的异常 |
SQLExcetion | 操作数据库异常类 |
NullPointerExcetion | 空指针异常 |
NoSuchFieldExcetion | 字段未找到异常 |
NoSuchMethodExcetion | 方法未找到抛出的异常 |
NummberFormatExcetion | 字符串转化为数字抛出的异常 |
NegativeArraySizeExcetion | 数组元素个数为负数抛出异常 |
StringIndexOutOfBoundsExcetion | 字符串索引超出范围抛出的异常 |
IOExcetion | 输入输出异常 |
IllegalAccessExcetion | 不允许访问某类异常 |
InstantiationExcetion | 当程序试图使用Class类中的newLNstance()方法创建一个类的实例,而指定的类对象无法被实列化时,抛出的异常 |
EOFExcetion | 文件以结束异常 |
FileNotFoundExcetion | 文件未找到异常 |
运行时异常
种类 | 说明 |
---|---|
NullPointerExcetion | 空指针异常 |
ArrayIndexOutOfBoundsExcetion | 数组下标越界异常 |
ArithmeticExcetion | 算数异常 |
ArrayStoreExcetion | 数组中包含不兼容值抛出的异常 |
NegativeArraySizeExcetion | 数组元素个数为负数抛出异常 |
SecurityExcetion | 安全性异常 |
IllegalArgumentExcetion | 非法参数异常 |