您的位置:首页 > 职场人生

关于异常处理的总结

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 放在函数内,后跟异常对象。

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息