1.强制异常,非强制异常,Error
java中的异常可以分为三种:
(1)检查性异常:java.lang.Exception强制异常,编译时会报错
(2)运行期异常:java.lang.RuntimeException非强制异常,运行时报错
(3)错误:java.lang.Error,严重的问题
顶层是java.lang.Throwable类,检查性异常,运行期异常,错误都是这个类的子孙类。 java.lang.Exception和java.lang.Error继承自java.lang.Throwable,而java.lang.RuntimeException继承自java.lang.Exception.
检查性异常------程序正确,但因为外在的环境条件不满足引发。例如:用户错误及I/O问题----程序试图打开一个并不存在的远程Socket端口。这不是程序本身的逻辑错误,而很可能是远程机器名字错误(用户拼写错误)。对商用软件系统,程序开发者必须考虑并处理这个问题。JAVA编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。
运行期异常------这意味着程序存在bug,如数组越界,0被除,入参不满足规范.....这类异常需要更改程序来避免,JAVA编译器强制要求处理这类异常。
错误------一般很少见,也很难通过程序解决。它可能源于程序的bug,但一般更可能源于环境问题,如内存耗尽。错误在程序中无须处理,而有运行环境处理。
2.Exception,throw,throws,Throwable的区别
1)throw 是手动抛出异常,throw new **Exception(); 抛出的是某一个异常类型的实例.
2)throws 是方法抛出异常,写在方法声明处 public void show()throws **Exception,**Exception{} 紧跟throws后的是异常类型,而非异常实例,且可以声明抛出多个异常,同时这些异常类型大多都为 受检查异常类型。
3)throw 是程序员手动抛出异常,一般可用在某种流程控制,需要显示操作失误情况下可对外抛出异常,进入catch代码块,明示操作有误等。
throws 方法抛出异常,通常是告知调用此方法者,本方法有可能抛出一个异常,在调用时应当要进行异常监控。且因为throws方法抛出异常为受检查异常类型,这样就从语法上要求更需要对受检查异常类型作出捕获,或者再次向上抛出。
3.四个强制,三个运行,三个Error的例子,出现问题的原因
(JDK中有这样的例子。以下是在JDK中找到的)
1) ClassFormatError extends LinkageError:
当 Java 虚拟机试图读取类文件并确定该文件存在格式错误或无法解释为类文件时,抛出 该错误。
2)IllegalAccessError extends IncompatibleClassChangeError
当应用程序试图访问或修改它不能访问的字段,或调用它不能访问的方法时,抛出该异常。
通常由编译器捕获此错误;如果类定义中存在不兼容的更改,则此错误将只可能发生在运行时。
3)LinkageError extends ErrorLinkageError 的子类指示一个类在一定程度上依赖于另一个类;但是,在编译前一个类之后,后一个类发生了不相容的改变。
http://lvp.iteye.com/blog/356650(例子)
http://www.javadn.com/read.php?tid-326.html(java中常见异常转载)
http://tech.ccidnet.com/art/3539/20090212/1673063_1.html
http://blog.csdn.net/Mirage520/archive/2010/03/11/5372148.aspx
分享到:
相关推荐
java异常总结java异常总结java异常总结java异常总结java异常总结java异常总结
CORBA异常总结.pdf CORBA异常总结.pdf
Java常见异常总结,不用在害怕自己没见过的异常了
Java基础编程异常总结
java常见异常总结,这是在开发过程遇上的异常信息处理方式,相信对大家开发有一定的帮助!!
SSH异常总结.doc SSH异常总结.doc SSH异常总结.doc
java异常总结.pdf
JBPM4运行时错误异常总结,本人在jbpm4学习中遇到过的最常见的异常,以后可能还会发布有关资源,如发现整理有误,请指教!
python烟花代码-26-异常总结.ev4.rar
java常见的运行时异常总结[文].pdf
本文档总结了工作中经常遇到的axis2异常问题该如何解决,本人亲自实践过,可以保证其正确性
总结的常见的JAVA异常。没有涵盖全部异常,但是包括了最常见的饿18中异常
总结的jsp常见异常 ,希望对大家有帮助,希望大家多多上传资料!这个网站很好的~
python异常总结,包括常见的AssertionError、KeyError、TypeError、ValueError等Python异常
NULL 博文链接:https://jiaguwen123.iteye.com/blog/1356153