此博客是本人从学生时代开始做笔记所用, 部分是工作所遇问题,做填坑笔记,部分闲来查阅资料,加上自己的理解所总结的学习笔记, 常忙得不可开交,若漏了资料来源,望通知~ 前路漫漫,写点东西告诉自己正在一点点进步,而不要迷失于繁忙。

运行式异常与检查式异常及java常见异常(更新中)

Java的异常分为两种,一种是运行时异常(RuntimeException),一种是非运行异常也叫检查式异常(Checked Exception)

 

区别:

运行式异常

虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。简单来说,属于运行错误,不可预计

不需要try-catch

例如:分母为0,数组溢出,空指针等

 

检查式异常

跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。简单来说,属于使用不当,需要提前防范

需要try-catch

例如:常见的IO异常,以及SQL异常

 

--------------------------------------------------------------------------------------------

 

常见异常:

CheckedException

InterruptException

被打断异常

详见:https://www.cnblogs.com/yanze/p/9985092.html

 

IOException

输入流输出流编程中,读写都得抛出

--------------------------------------------------------------------------------------------

 

RuntimeException

.NullPointerException 

空指针异常

成因:调用了未经初始化的对象或者是不存在的对象

eg:调用数组时超过数组大小

 

ClassNotFoundException

类不存在

成因:使用了不存在的类

 

ArithmeticException

算数异常

eg:比如除法时分母为0

 

ArrayIndexOutOfBoundsException
数组下标越界

eg:调用数组时成员时,下标超出了数组的范围

 

IllegalArgumentException
方法的参数错误

eg:g.setColor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常

 

IllegalAccessException
没有访问权限

 

IncompatibleClassChangeError
不兼容的类变化错误

正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。

 

InstantiationError
实例化错误。

当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常。

 

EOFException

(end of file)意外到达文件的末尾 

 

posted @ 2018-12-03 16:54  炎泽  阅读(604)  评论(0编辑  收藏  举报