J2SE异常处理

来源:互联网 发布:数据挖掘的应用领域 编辑:程序博客网 时间:2024/05/18 03:24

一、异常的概念1、java中的异常是java提供的一种用于处理程序中出现的错误的一种机制2、错误是指程序运行中的一些异常事件,如除0溢出,数组越界,读取的程序不存在等情况3、java执行时出现异常,可以生成一个异常对象,该异常对象封装了异常信息的概念,并将其提交给java运行时系统,这个过程成为抛出4、java运行时接触到异常对象时,会寻找能处理此异常的代码,并把异常交给其处理,这一过程称为捕获。 try {} catch() {}5、用于出错时的友好提示,由的catch,没有的使用默认6、printStackTrace()用于答应堆栈信息,jdk中可能异常已经写出public void someMethod() throws someException { if(someCondiction()) {  throw new exception; }}try {someMethod} //尝试捕捉异常catch(someException e) {}//定义处理异常的代码

二、异常分类1、throwable接口,分为error和exception其中error为系统内部错误(虚拟机错误)exception为异常,可处理的错误,其中又用RunTimeException运行时错误,可以catch也可以不catch2、另一种为必须处理的异常,定义中如果有throws,则必须处理此异常3、打印出堆栈,所有出现异常的递归。4、不是runtimeexception都要抓。

三、finally语句1、try代码可能会出现例外情况2、try代码段后必须加一个或多个catch3、每一个catch代码声明其能处理的一种特定类型的exception,并提供处理的方法4、异常发生时,根据获取异常的类型去执行相应的catch代码5、finally代码无论是否发生异常都要执行

try {...} 指定一段代码,该代码是一次捕获,并处理异常的范围 执行中,可能出现的是一种或几种异常,则必须分辨使用catch语句进行处理 如果没有异常,所有catch都将被跳过 catch中声明的异常类,封装了异常事件中发生的信息。catch语句块中可以使用这个对象的一些方法以获取信息 Exception.getMessage()获得异常事件信息。 Exception.printStackTrace()跟踪异常时间发生时执行堆栈的内容

finally1、为异常处理提供了一个统一的出口,是控制流程转到程序的其他部分前,能够对程序状态作出统一的处理2、无论try语句中是否异常是否出现,finally中的语句都会被执行3、finally可以用于为资源做清理工作,如关闭已经打开的文件

四、声明方法抛出的异常 jaava的异常处理机制,使例外事件沿着被抛出的顺序向前寻找,只要找到符合该类例外处理程序,某个地方无法处理的异常可以向外抛出由最后调用的方法去处理,抓到异常要处理,不然可能出现意外的情况 main方法也可以抛出异常,此时异常被交给java运行时系统,但只应用于调试中 能处理的异常一定要处理

五、异常的其他问题 1、打印堆栈信息 2、一个类中已抓了父类的异常,则子类中的同种异常不再捕获 3、先抓小再抓大

六、自定义异常 步骤1、通过继承java.lang.Exception声明自己的异常2、在方法适当位置生产自定义异常语句,并用throw抛出3、在方法声明部分用throws语句声明方法可能抛出的异常。class MyException extends Exception { construction() {  ...  if(someCondition) {   throw exception  } }}重写方法需要抛出与原方法类型意义的异常或者不抛出异常

 

 

原创粉丝点击