java常见异常举例_java常见异常

运行时异常:指编译器不要求强制处理的异常。一般是指编程时的逻辑错误。java.lang.RuntimeException类及它的子类都是运行时异常。

下面举例几种常见的运行时异常

ArrayIndexOutOfBoundsException

int arr[] = new int[]{1, 2, 3}

for(int i = 0; i < 4; i++){

System.out.println(arr[i]);// 数组角标越界异常

}

数组角标越界异常:指数组的索引取值超过了本身的数组长度,就会造成越界异常

NullPointerException

int arr[] = new int[] {1, 2, 3};

System.out.println(arr[2]);

arr = null;

System.out.println(arr[2]);//空指针异常

空指针异常:当取一个null的的索引或调用null的方法和属性时就会产生空指针异常,因为null本身就是空的,调用它的方法或属性是不存在的。

NumberFormatException

String str = "123";

str = "abc";

Integer i = new Integer(str);// 数字格式转化错误

数字格式转化异常:当用包装类转化一个由数字组成的字符串时,由于字符串不是由数字组成,所以不知道该转化成什么数字,从而抛出异常

ClassCastException

Person p = new Person();

Student s = (Student)p;//实例类型转换异常

class Person{}

class Student extends Person{}

实例类型转换异常:当一对具有子父类关系的类进行类型转换时,如果父类的对象不是多态,那么强制转换为子类类型就会报错,因为并不具有子类的扩展功能

ArithmeticException

int a = 10 / 0

算术异常:指一些计算上的错误,零不能做除数

InputMismatchException

Scanner scanner = new Scanner(System.in);

int score = scanner.nextInt();

System.out.println(score);

scanner.close();

输入不匹配异常:指在输入过程中,没有输入匹配的数据类型而产生的异常。

编译时异常:指编译器要求必须处置的异常。即程序在运行时由于外界因素造成的一般性异常。编译器要求Java程序必须捕获或声明所有编译时异常

FileNotFoundException

// 文件未找到异常

File file = new File("hello.txt");

FileInputStream fileInputStream = new FileInputStream(file);

文件未找到异常:当文件不存在时出现的异常

异常体系结构

java.lang.Throwable

* |-----java.lang.Error:一般不编写针对性的代码进行处理。

* |-----java.lang.Exception:可以进行异常的处理

* |------编译时异常(checked)

* |-----IOException

* |-----FileNotFoundException

* |-----ClassNotFoundException

* |------运行时异常(unchecked,RuntimeException)

* |-----NullPointerException

* |-----ArrayIndexOutOfBoundsException

* |-----ClassCastException

* |-----NumberFormatException

* |-----InputMismatchException

* |-----ArithmeticException

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值