java怎么写异常( 四 )


一般都把它交给系统自己去处理就好 。
所有可能抛出异常的语句都要写异常处理,你能处理的就catch住,不能处理或不想处理就往外抛 。
像你提到的 SQLException ,还有其他例如IOException等继承自Exception的异常都要(RuntimeException虽然也是继承自Exception,但上面已经说了可以写异常处理,也可以不写) 。
子类继承父类,如果父类有异常抛出也要写异常处理 。如果是你自己自定义的异常当然也要记得写异常处理 。
8.java异常处理应该怎么学异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if 。
else 。来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出现,那么你每个地方都要做相同处理,感觉相当的麻烦! Java语言在设计的当初就考虑到这些问题,提出异常处理的框架的方案,所有的异常都可以用一个类型来表示,不同类型的异常对应不同的子类异常(这里的异常包括错误概念),定义异常处理的规范,在1.4版本以后增加了异常链机制,从而便于跟踪异常!这是Java语言设计者的高明之处,也是Java语言中的一个难点,下面是我对Java异常知识的一个总结,也算是资源回收一下 。
一、Java异常的基础知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的 。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常 。
有些异常需要做处理,有些则不需要捕获处理,后面会详细讲到 。天有不测风云,人有旦夕祸福,Java的程序代码也如此 。
在编程过程中,首先应当尽可能去避免错误和异常发生,对于不可避免、不可预测的情况则在考虑异常发生时如何处理 。Java中的异常用对象来表示 。
Java对异常的处理是按异常分类处理的,不同异常有不同的分类,每种异常都对应一个类型(class),每个异常都对应一个异常(类的)对象 。异常类从哪里来?有两个来源,一是Java语言本身定义的一些基本异常类型,二是用户通过继承Exception类或者其子类自己定义的异常 。
Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件 。异常的对象从哪里来呢?有两个来源,一是Java运行时环境自动抛出系统生成的异常,而不管你是否愿意捕获和处理,它总要被抛出!比如除数为0的异常 。
二是程序员自己抛出的异常,这个异常可以是程序员自己定义的,也可以是Java语言中定义的,用throw 关键字抛出异常,这种异常常用来向调用者汇报异常的一些信息 。异常是针对方法来说的,抛出、声明抛出、捕获和处理异常都是在方法中进行的 。
Java异常处理通过5个关键字try、catch、throw、throws、finally进行管理 。基本过程是用try语句块包住要监视的语句,如果在try语句块内出现异常,则异常会被抛出,你的代码在catch语句块中可以捕获到这个异常并做处理;还有以部分系统生成的异常在Java运行时自动抛出 。
你也可以通过throws关键字在方法上声明该方法要抛出异常,然后在方法内部通过throw抛出异常对象 。finally语句块会在方法执行return之前执行,一般结构如下: try{ 程序代码 }catch(异常类型1 异常的变量名1){ 程序代码 }catch(异常类型2 异常的变量名2){ 程序代码 }finally{ 程序代码 } catch语句可以有多个,用来匹配多个异常,匹配上多个中一个后,执行catch语句块时候仅仅执行匹配上的异常 。