关于异常处理的总结
2015-04-18 19:54
295 查看
1、什么是异常处理
是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)
2、异常与错误
错误(Error):严重的错误,无法通过修改代码来处理。如JVM运行失败、线程池出错导致JVM无法正确运行。
异常(Exception):异常表示程序执行过程中出现的不正常的现象,可以通过修改代码来进行弥补。
3、异常的种类
a) 编译时异常:编译被检测的异常
b) 运行时异常:编译时不被检测的异常运行时异常
4、异常体系
a) Throwable
i. Error
ii. Exception
1>. RuntimeException
<1>、Throwable
Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。
两个子类的实例,Error 和 Exception,通常用于指示发生了异常情况。通常,这些实例是在异常情况的上下文中新近创建的,因此包含了相关的信息(比如堆栈跟踪数据)。
<2>、Error
Error 是 Throwable 的子类,表示仅靠程序本身无法恢复的严重错误,用于指示合理的应用程序不应该试图捕获的严重问题。
在执行该方法期间,无需在方法中通过throws声明可能抛出但没有捕获的 Error 的任何子类,因为Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。
<3>、Exception
Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件,表示程序本身可以处理的异常。
<4>、RuntimeException
RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过,这种异常可以通过改进代码实现来避免。
5、Java处理异常
try { /*需要检测的代码*/ } catch(异常类 变量) { /*处理异常的代码*/ } finally { /*一定执行的代码*/ }
6、throw 与throws的区别
throws放在函数上,后跟异常类,可以跟多个,用逗号隔开;
throw 放在函数内,后跟异常对象。
相关文章推荐
- 关于异常的处理的总结
- 关于项目中异常处理的一些总结
- Unix/Linux网络编程中关于网络异常、服务器Down掉、异常信号时的处理方案【学习总结,请勿吐槽】
- 关于项目中异常处理的一些总结(转)
- 关于项目中异常处理的一些总结
- 关于异常处理的笔记总结
- 关于项目中异常处理的一些总结
- 关于异常处理的部分总结
- 关于Java中使用hessian-3.0.20调用远程服务连接出错异常try catch无法捕捉的问题处理
- Windows 系统异常处理顺序总结
- 关于stm32 HardFault_Handler 异常的处理 死机
- 关于异常“The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine”的处理
- 关于WPF 中 “System.Windows.Markup.XamlParseException”类型的未经处理的异常在 PresentationFramework.dll 中发生 异常的处理。
- 关于java异常处理机制的深入理解(转)
- 关于SQLServer2005的学习笔记——异常捕获及处理
- 关于ADT中“空指针”异常的处理
- 关于Response.redirect和Response.End出现线程中止异常的处理
- 关于Websocket一次Broken pipe的异常处理
- JAVA异常处理总结
- Python学习笔记总结(四):异常处理