黑马程序员技术交流社区

标题: 异常知识点 [打印本页]

作者: 478883662    时间: 2015-11-8 22:13
标题: 异常知识点
异常处理:
1,声明异常时,建议异常更为具体的异常,处理更具体。
2,对方声明几个异常,就对应几个catch块。
如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面

class 方法类名
{
    方法 throws 异常1,异常2,···//声明异常抛出,交给调用者处理
    {
        方法体
    }
}
class 主类名
{
    new 方法
    try{
    //检查可能存在异常的代码
    }catch(异常1){
    //对异常1的情况进行处理
    }catch(异常2){
    //对异常2的情况进行处理
    }catch(异常n){
    //对异常n的情况进行处理
    }
}

如何定义异常信息?
自定义异常类extends Exception
父类Exception中有getMessage()方法
即:父类中已经把异常信息的操作都完成了,所以子类只要在构造时,将异常信息传递给父类(通过super语句)即可。

            子类            父类
class 自定义异常类 extends Exception
{
    构造函数(String msg){
        super(msg);
    }
}

一般情况下,函数内出现异常,函数上需要声明,即throws抛出

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

throw和throws的区别:
throws:使用在函数上,后跟异常类,可跟多个,隔开。
throw:使用在函数内,后跟异常对象。

自定义异常:当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作:
1,在内部try,catch处理
2,函数上声明抛出让调用者来处理

如何自定义?

class 自定义异常类  extends Exception
{
    构造方法(String msg)
    {
        super(String msg);
    }
}

异常有两种:
编译时异常:在编译时,如果没有处理,就会编译失败。(可被处理)
运行时异常:在编译时不检测,此类异常发生时,建议不处理,直接让程序停止。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2