码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础------异常的简易资料

时间:2015-04-17 23:57:02      阅读:372      评论:0      收藏:0      [点我收藏+]

标签:

一、异常的定义

异常是因编程错误或外在因素导致程序在运行期无法运行的事件。(它会打断指令的正常秩序流程)

二、异常的分类

1.Error

动态链接错误,比如JVM系统内部错误或资源耗尽,这一类异常事件无法恢复或不可能捕获,将导致应用程序中断。

2.Exception

其他因编程错误或偶然的外在因素导致的一般性问题,这类异常得到恰当处理时,程序有机会恢复至正常运行状态

①非受检(uncheched)异常

就是程序运行时出现的错误,这种错误是认为造成的,比如1/0,空指针异常等

错误类型转换:java.lang.ClassCastException

数组下标越界:java.langArraylndexOutOfBoundsExcetion

空指针访问:java.lang.NullPointerException

算术异常(除0溢出):java.java.ArithmeticException

②受检时异常(cheched)

没有找到指定名称的类: java.lang.ClassNotFoundException

访问不存在的文件:java.io.FileNotFoundException

操作文件时发生的异常:java.io.IOEception

操作数据库时发生的异常:java.sql.SQLException

是在编写代码时报出的错误,这种错误需要程序员及时处理,

比如:文件未找到异常

三、常见异常和Exception的层次结构

}RuntimeException

?ArithmeticException:数学计算异常

?NullPointerException:空指针异常

?NegativeArraySizeException:负数组长度异常

?ArrayIndexOutOfBoundsException:数组索引越界异常

?ClassNotFoundException:类文件未找到异常

?ClassCastException:造型异常

}IOException

?FileNotFoundException:文件未找到异常

?EOFException:读写文件尾异常

?MalformedURLExceptionURL格式错误异常

?SocketExceptionSocket异常

?IOException

                                        Throwable

                                /                              \

                        Error                            Exception

 称为错误,虚拟机生成并抛出,不处理      /            \    

                                                    一般性异常    RuntimeException

                                                                            


Exception在程序中是必须进行处理

RuntimeException可以不使用try…catch进行处

理,但是如果有异常产生,则异常将由JVM进行处

理。



四、异常处理机制

执行代码时如果出现异常,会自动生成一个异常类对象,该异常对象将被自动提交到JVM,(这个过程称为抛出异常)→JVM查找是否有能处理这一异常的代码异常→找到则交给其处理,(这一过程称之为catch异常和处理异常);如果无法处理,则程序退出

五、捕获异常

try{...}catch{...}【finally{...}】

1.try块

①捕获多个异常可以使用1个try块

②try块内可以放有异常代码,还可以放无异常代码

2.catch块

①1个catch块只能捕获一种异常,当出现多个异常时,可以使用多个catch块进行捕获

②catch块里出现的异常对象的方法

   a.getMessage():打印该异常对象的信息

   b.printStackTrace():打印错误信息,建议使用

③如果没有异常,则不走catch块

④catch块内异常类顺序,子类→父类依次往下

3.finally

①无论该段代码有没有错误,都去执行finally块

②作用:进行资源清理工作

③finally块可有可无

一、throws关键字

用throws关键字声明方法,表面该方法不处理异常,而交给方法的调用者处理

1.作用:抛出异常,不做处理

2.声明:位于方法名后

比如:public void method() throws Exception{...}

二、throw和throws

不同点

throw

throws

位置

方法内部

方法名后

作用

抛出异常对象

抛出异常类

1.throw使用注意:

当抛出一个受检异常对象时,需要通过throws先抛出该异常

2.throws使用注意:

①当一个方法抛出异常,则调用该方法的对象需要处理这个异常(谁调用谁处理)

②重写一个方法时。它所成么的异常范围不能被扩大。

一、创建自定义异常类

1.创建一个类,继承Exception

2.复写Exception类的方法

二、使用自定义异常类

同Exception

技术分享

技术分享


Java基础------异常的简易资料

标签:

原文地址:http://my.oschina.net/wylbwylb/blog/403224

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!