三九宝宝网宝宝百科宝宝知识

java异常处理应该怎么学

01月25日 编辑 39baobao.com

[女友对我说分手我应该怎么回答她]1.如果你很惊讶她提出分手,那么最俗的回答是:“为什么?” 2. 你可以说:“你希望我的回答是什么?”然后看她的反应然后再作出相应的回答 3.如果你实在不想分,你应该问清楚,发生什么...+阅读

异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从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语句块时候仅仅执行匹配上的异常。catch的类型是Java语言中定义的或者程序员自己定义的,表示代码抛出异常的类型,异常的变量名表示抛出异常的对象的引用,如果catch捕获并匹配上了该异常,那么就可以直接用这个异常变量名,此时该异常变量名指向所匹配的异常,并且在catch代码块中可以直接引用。这一点非常非常的特殊和重要! Java异常处理的目的是提高程序的健壮性,你可以在catch和finally代码块中给程序一个修正机会,使得程序不因异常而终止或者流程发生以外的改变。同时,通过获取Java异常信息,也为程序的开发维护提供了方便,一般通过异常信息就很快就能找到出现异常的问题(代码)所在。 Java异常处理是Java语言的一大特色,也是个难点,掌握异常处理可以让写的代码更健壮和易于维护。

二、Java异常类类图 下面是这几个类的层次图: java.lang.Object java.lang.Throwable java.lang.Exception java.lang.RuntimeException java.lang.Error java.lang.ThreadDeath 下面四个类的介绍来自java api 文档。

1、Throwable Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。 两个子类的实例,Error 和 Exception,通常用于指示发生了异常情况。通常,这些实例是在异常情况的上下文中新近创建的,因此包含了相关的信息(比如堆栈跟踪数据)。

2、Exception Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件,表示程序本身可以处理的异常。

3、Error Error 是 Throwable 的子类,表示仅靠程序本身无法恢复的严重错误,用于指示合理的应用程序不应该试图捕获的严重问题。 在执行该方法期间,无需在方法中通过throws声明可能抛出但没有捕获的 Error 的任何子类,因为Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。

4、...

以下为关联文档:

职场中应该如何与人交际人际关系是职业生涯中一个非常重要的课题,特别是对大公司企业的职业人士来说,良好的人际关系是舒心工作安心生活的必要条件。如今的毕业生,绝大部分是独生子女,刚从学校里出来,自...

应该怎样保护眼睛电脑族如何保护眼睛 1。饮食方面。多吃水果蔬菜海产品。少吃甜食。吃动物的肝脏,喝菊花茶和绿茶对眼睛有好处。 2。上一个小时的网,就要休息一下。看5米以外的东西眼睛就能得...

静脉曲张应该注意些什么静脉曲张俗称「浮脚筋」是静脉系统最常见的疾病,属于中医筋瘤、炸筋腿,静脉曲张以女性多见,可能由于妊娠能诱发或加重静脉曲张。但在没有妊娠的女性,其发病率也比男性高(男:女=1:3...

我们应该如何培养孩子热爱音乐呢有人问我,如何让孩子爱音乐?很遗憾,我比较笨,拿不出什么招来,而只有一个窍门:父母自己热爱音乐,给孩子唱歌,和孩子一起欣赏音乐。如果父母是感觉自己对音乐的感受、欣赏、理解水平不...

经营一家养老院应该具备哪些条件一、办理养老院应具备以下条件: 1、有固定的服务场所、必备的生活设施及室外活动场地; 2、符合国家消防安全和卫生防疫标准,符合《老年人建筑设计规范》和《方便残疾人使用的城...

求教青梅应该怎么吃用料 青梅 1000g 砂糖 1000g 粗海盐 500g 糖渍青梅的做法 挑选没有损坏的青梅,记得要将青梅蒂摘掉和梅顶的黑头挑去,用青水洗净并浸泡30分钟 选用粗盐方便搓揉梅子 用适量的...

孩子几岁应该分床睡很多孩子不敢一个人睡觉,甚至到小学中高年级还不能分开。原因是孩子的依赖性太强,而作为父母认为这是一件小事,没有必要太看重。孩子对童年的记忆就是通过一件件小事积累起来的...

面试官应该从哪些方面考察应聘者1、求职动机与工作愿景:了解应聘者为何寻求此工作,对该项共走的兴趣度如何,在工作中追求什么等,以此来判断单位能否满足员工的心理预期,从而达到日后工作的稳定。 2、专业知识与...

java中关于异常如何处理//除零异常,不做处理 class test{ int devide(int x,int y) {return x/y;} } class TestException{ public static void main(String arg[]) { new test()。 devide(3,0); Sy...

推荐阅读
图文推荐