Java 里的异常(Exception)详解及其常见报错

java里的异常的分类.

见下图:

                   Throwable
                  /                \
          Error             Exception
             /                   /               \
     xxxxxx             xxxxxx          RuntimeException
                                                      /                   \
                                                 xxxxxx             ArithmeticException

上图的所有对象都是类.

Throwable 代表是可抛出的.
Error 代表的是严重错误, 这种错误程序员无法进行处理, 例如操作系统崩溃, jvm出错, 动态链接库失败等. Error并不是异常, 不是本文的重点.

Exception 代表的就是异常了. 它下面很多派生类, 其中它的派生类也分两种, 一种是RuntimeException(运行时异常), 其他的都是非运行时异常

RuntimeException 包括除数为0, 数组下标超界等. 运行时异常的派生类有很多, 其产生频率较高. 它的派生类可以由程序处理或者抛给(throw) 给jvm处理. 例如上面的例子就是抛给了jvm处理, jvm把程序中断执行, 并把错误信息输出到终端上.

非RuntimeExcption 这种异常属于Excepion的派生类(上面红色的xxx), 但是不是RuntimeException的派生类, 这种异常必须由程序员手动处理,否则不通过编译.

ArithmeticExcpetion 算术异常, 它是RuntimeException的派生类, 所以程序员不手动处理也通过编译, 只不过出错时会被jvm处理.

其他的报错详情见以下转载博客整理地址

算数异常类:ArithmeticExecption
空指针异常类型:NullPointerException
类型强制转换类型:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
下标越界异常:IndexOutOfBoundsExecption
系统异常:SystemException
创建一个大小为负数的数组错误异常:NegativeArraySizeException
数据格式异常:NumberFormatException
安全异常:SecurityException
不支持的操作异常:UnsupportedOperationException

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值