常见的编译时异常和运行时异常

编译时异常:首先它的过程是在程序把他的.java的源文件编译成字节码文件也就是.class文件,出现的异常。java

运行时异常:运行时异常表示虚拟机的一般操做中可能遇到的异常,它意味着程序存在着bug。web

Exception分两类 : 
运行时异常,不须要强制处理  全部的RuntimeException的子类都是运行时异常
编译时异常,须要强制处理  在Exception范围内,除了运行时异常的类都是编译时异常数据库

编译时异常和程序的上下文条件有着密切关系,即便程序设计无误也会因为使用问题而引起。
Java编译器要求方法必须声明抛出可能发生的编译时异常,可是并不要求必须声明抛出未被捕获的运行时异常。数组

Exception:异常  主要是在程序运行期间发生的一些不正常事件停止了程序的运行,能够经过JAVA异常处理机制捕获异常并处理,使得程序正常运行下去。发生以后能够捕获并处理的。tomcat

常见的异常:

一、编译时异常:app

IOException                            输入输出流异常 
FileNotFoundException          文件找不到的异常 
ClassNotFoundException       类找不到异常 
DataFormatException             数据格式化异常 
NoSuchFieldException           没有匹配的属性异常 
NoSuchMethodException       没有匹配的方法异常 
SQLException                         数据库操做异常 
TimeoutException                   执行超时异常webapp

IOException:普遍的说,何时会有IOException ,好比你文件都不到的时候 ,你在作数据库操做的时候数据库底层出现问题 ,或者你系统IO出问题了 ,系统拿不到文件句柄 ,你说的读着读着忽然被删了,你能够试试,书不定真能够 ,你能够看有多少IOExeption个子类,差很少就有多少种类型。ide

FileNotFoundException:注意,这里的找不到是在你的编译结果文件夹里面找不到,而不是在你的工程里面找不到,不少同窗说本身工程里面有这个文件,为何还要报这个异常?这个时候,你最好跑到你的编译文件放的文件夹下面,好比tomcat的webapps文件夹下面,找找你的工程对应的文件夹,看看那个里面有没有你的文件设计

ClassNotFoundException:属于编译时异常,是在classloader加载类的时候发现类不存在在类路径的时候报出的。指针

SQLException:好比SQL语句写错,访问的表不存在,链接数据库失败等。

二、运行时异常(RuntimeException):

ArrayIndexOutofBoundsException     数组越界异常 ClassCastException                           类型转换异常 NullPointerException                          空指针异常   IllegalAccessException                      非法的参数异常 InputMismatchException                    输入不匹配异常

相关文章
相关标签/搜索