28java中的异常机制

28java中的异常机制

ID:30749365

大小:110.03 KB

页数:8页

时间:2019-01-03

28java中的异常机制_第1页
28java中的异常机制_第2页
28java中的异常机制_第3页
28java中的异常机制_第4页
28java中的异常机制_第5页
资源描述:

《28java中的异常机制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Java中的异常机制1.什么是界常(Exception)?运行时期发生的不正常情况,与编译无关。中断产生了正常指令流的事件。编译时出的错误是语法的错误;界常与编译无关,是在程序执行的过程屮出现的。2.Java中用类的形式对不正常情况进行了描述和封装对象,描述不正常情况的类称为异常类。以前正常流程代码和问题处理代码相结合,现在将正常流程代码和问题处理代码相分离,目的就是为了提高阅读性。3.其实异常就是java通过面向对象的思想将问题封装成了对象,用异常类对其进行描述。不同的问题用不同的类进行描述。比如数组就有角标越界,空指针等等。4.出现的问题会很多,意味着

2、描述问题的类也狠多,但是都有些共性,将他们的共性进行向上抽取,就形成了异常体系。最终,问题(或叫作不正常情况)分成了两大类:一是一般不可处理的,称为Error;二是可以处理的,称为Exception异常。无论Error还是Exception,都是问题,问题发生时,就应该及时抛出,让调用者知道并处理,Error和Exception都具有可抛出的特性,Throwableo该体系的特点就在于Throwable以及所有的子类都具有可抛性,不是该体系的不具有可抛性。5.Error是有JVM抛出的严重性的问题,这种问题一般不做针对性处理,有接修改程序。Exceptio

3、n是可以处理的。6.Throwable卜•而主要有两个Error和Exception,Throwable体系中,子类的后缀都是用父类的名作为示缀名,阅读性比较强。7.一旦发生异常就可以把当前的方法结束掉。方法小抛出异常,立即结束此方法,主方法直接抛出界常给JVM,抛出异常后,不会在执行方法其他的语句。8.如果方法中可能会产生异常,则必须抛出异常(抛岀异常利用关键字throw),并必须在此方法的声明处声明此异常或在方法体小捕捉此异常,声明异常利用shows关键字,如果某方法中调用了可能会抛出异常的方法,则调用了可能抛出异常方法的方法也需要抛出此异常或者直接进

4、行捕捉。对异常对象的处理有两种方法:一是直接抛岀(需要声明),二是直接进行捕捉并处理。9.可抛性到底是什么?怎么体现可抛性呢?答:通过两个关键字来实现,throws和throw,凡是可以被这两个关键字操作的类或者对象都具有可抛性。throws和throw的不同点:(1)throws使用在方法声明处,throw使用在方法内部,(2)throws后面跟的是异常类名,可以同时声明多个异常类,之间利用都好隔开,单对于方法來说,遇到一个异常便不再继续正常执行了,throw后面跟的是异常对象(一般是匿名对象,newXXX()),只可以抛出一个异常对象。10.如果想自定

5、义一个类为异常类,必须让此类继承异常体系,因为只有成为异常体系中的一个子类,才具有可抛性,才可以被两个关键字throw和throws操作。定义异常类的命名规范:使定义的异常类的名字以继承的父类的名字为后缀,这是规范,不是强制的。11.在方法声明处声明可能产生的异常的目的是:让调用此方法的调用者对此异常进行处理。12.如果想在异常提示信息处输出想要的提示信息,在自己定义的异常类的构造方法中调用super(****);即可了,因为对于提示信息的输岀方法父类已经写好了,子类直接调用父类的相应的构造方法即可了。13.简单介绍异常中的几个方法:(1)Exceptio

6、n中有个叫作getMessage();方法,可以调用出异常提示信息的具体内容,返回值是String类型;(2)Exception中有个叫作toString();方法,返回的是String类型,内容为异常类名和异常提示信息;(3)Exception中有个叫作printStackTrace();方法,返回值为空,直接就会输出异常类名、异常提示信息以及异常发生的位置。JVM默认情况下,异常处理机制调用的就是异常对象的这个方法。(4)Log4j:就是logforjava的简写,记录的是jaua运行的日志信息。就可以利用重写printStackTrace方法,直接输

7、出到文件中。1.Throwable与Runnable2.异常Exception的分类:(1)编译时被检测异常CheckException(编译器会捉醒修改)(此并常可以处理,故声明岀來此异常,然后对具进行处理即可):只要是Exception及具子类都是,但是除了子类RuntimeException体系。界常一旦出现,希望在编译时就进行检测,使该异常冇对应的处理方式。总Z,这种异常都会冇针对性的处理。(2)编译时不检测异常(运行时异常)UncheckException(编译器不会强制修改):(此界常是不可以处理的,既然不可处理,就没有必要声明出來,即使声明处

8、理,也没法处理)Exception的子类RuntimeExcept

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。