您的位置:首页 > 职场人生

黑马程序员——java基础---Java语言中的异常

2015-08-06 17:32 281 查看
1.什么是异常?

异常:及时程序在运行时出现的不正常情况。

异常由来:问题也是实现生活中一个具体的事物,也可以通过java的类的形式进行描述。并封装成对象,其实就是java对不正常情况进行的描述后体现。

对问题的划分有两种:一种是严重的问题,一种是非严重的问题。

严重的:java通过Error类进行描述。对于Error一般不编写针对的代码进行处理。

对于非严重的:java通过Exception类进行描述。赋予Exception可以使用针对夫的处理方式进行处理。

无论Error或者是Exception都具有一些共性内容:比如:不正常引发原因等。

问题划分结构:Throwable

|–Error

|–Exception

2.异常的处理

java提供特有的语句进行处理,格式有三种:

第一种格式:

try

{ 需要检测的代码 }

catch(Exception e)

{ 处理代码 }

第二种格式:

try

{ 需要检测的代码 }

catch(Exception e)

{ 处理代码 }

finally

{ 一定会执行的代码 }

第三种格式:

try

{ 需要检测的代码 }

finally

{ 一定会执行的代码 }

注意:catch是用于处理异常,如果没有

3.对捕获到的异常进行常见的操作方法:

String getMessage();获得异常信息

String toString();获取异常名称,异常信息

printStackTrace();获取异常名称,异常信息,异常信息位置

4.对多异常的处理

(1)声明异常时,建议声明为具体的异常。这样处理的可以更具体。

(2)对方声明几个异常,就要对应有几个catch块。不要定义多余的catch块。

(3)如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面。

注意:在进行catch处理时,catch块中一定要定义具体的处理方式,也不要简单定义一条输出语句。

5.抛出

程序员处理异常有两种方法。一种是使用try{}catch{}块,捕获异常;另一种是程序员不在当前方法内进行处理异常,而是把异常抛出到调用方法中。在说明方法是使用如下格式:

<访问权限修饰符><返回值类型><方法名>(参数列表) throws 异常列表

throw和throws的区别

throws使用在函数上,后面跟的是异常类,可以跟多个。

throw使用在函数内,后面跟的是函数对象。

6.自定义异常

必须是自定义类继承Exception。如例:

public class MyException extends Exception{ …… }

继承Exception的原因:异常体系有一个特点:因为异常类和异常对象都被抛出。他么都具备可抛性。这个可抛性是Throwable这个体系独有的特点。只有这个体系中的类和对象才可以被throws和throw操作。

注意:Exception中有一个特殊的子类异常RuntimeException运行异常。如果在函数内容抛出该异常函数上可以不用声明编译一样通过。如果在函数上声明了异常,调用者可以不用进行处理,编译一样通过。之所以不用在函数上升声明,是因为不需要进行处理。当异常发生,希望程序停止,对代码进行修正。编译时不被检测的异常(运行时异常,RuntimeException以及其子类)。

7.异常在子父类覆盖中的体现

(1)子类在覆盖父类时 ,如果父类的方法抛出异常,那么子类的覆盖方法只能抛出父类异常或者该异常的子类。

(2)如果父类方法抛出多个异常,那么子类在覆盖父类方法时,只能抛出父类的子集异常。

(3)如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时也不可以抛出异常。

8.异常总结

异常体系:

Throwable

|–Error

|–Exception

|–RuntimeException

异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性。也就是说可以被throws或者throw关键字修饰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: