java异常处理

1.异常是程序中出现的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的,比如:你的代码少了一个分号,运行出来的结果提示的错误java.lang.Err; 如果是system.out.println(11/0),运行出来的提示错误java.lang.ArithmeticException的异常

2.异常发生的原因很多,通常包括几类

  • 用户输入非法数据
  • 要打开的文件不存在
  • 网络通信是连接中断
  • JVM内存溢出

3.Exception类的层次

  • 所有的异常类都是从java.lang.Exception 类继承的子类
  • Exception类是Throwable类的子类,除了Exception类外,Throwable还有一个子类Error
  • java程序通常不捕获错误,错误一般发生在严重故障时,他们在java程序处理的范畴外

4.java内置异常类(非检查性异常)

异常描述
ArithmeticException当出现异常的运算条件时抛出的异常,例如:一个整数除0是
ArrayIndexOutOfBoundsException用非法的索引访问数组是抛出的异常,例如:索引为负或者大于等于数组大小,则该索引为非法索引
ArrayStoreException试图将错误类型的对象存储到一个对象数组是抛出的异常
ClassCastException试图将对象强制转换为不是实例的子类时,抛出的异常
IllegalArgumentException向方法传递了一个不合法或者不正确的参数
IllegalMonitorStateException某一线程已经试图等待对象的监视器,或是试图通知其他在等待对象的监视器而本身没有指定监视器的线程
IllegalStateException在非法或者不适当的时间调用方法是产生的信号,即java环境或java应用程序没有处于请求操作所要求的适当状态下
IllegalThreadStateException线程没有处于请求操作所要求的适当状态时抛出的异常
IndexOutOfBoundsException某排序索引超出范围抛出,例如:数组,字符串,向量的排序
NegativeArraySizeException应用程序试图创建大小为负数的数组,抛出异常
NullPointerException应用程序试图在需要对象的地方使用null时,抛出异常
NumberFormatException应用程序试图将字符串转换成一种数值类型,但该字符串不能转换适当格式时,抛出异常
SecurityException安全管理器抛出的异常,指示存在安全侵犯
StringIndexOutOfBoundsException此异常有String方法抛出,指示或者为负,或者超出字符串的大小
UnsupportedException当不支持请求操作时,抛出该异常

5.java内置异常类(检查性异常)

异常描述
ClassNotFoundException应用程序试图加载类时,找不到相应的类,抛出异常
CloneNotSupportedException当调用Object类中的clone方法克隆对象,但该对象的类无法实现Cloneable接口时,抛出异常
IllegalAccessException拒绝访问一个类的时候,抛出异常
InterruptedException一个线程被另一个线程中断,抛出该异常
NoSuchFieldException请求变量不存在
NoSuchMethodException请求的方法不存在
InstantiationException当试图使用Class类的newInstance方法创建一个类的实例,而指定的类对象因为是一个接口或者是一个抽象类而无法实例化时,抛出异常
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值