A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 478883662 中级黑马   /  2015-11-8 22:13  /  235 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

异常处理:
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);
    }
}

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马