关于异常

对核心技术卷的总结,只总结概括性内容。

开发过程难免遇到异常,遇到异常时,程序员至少需要做到:

    1.向用户通告错误;

    2.保存所有的工作结果;

    3.允许用户以妥善形式退出程序

1. 异常分类

    所有异常都派生于Throwable,可以分为两类

    1.Error(错误)

        如系统内部错误,资源耗尽错误,此类问题很少出现,一旦出现,我们能做的只有通知用户,并尽力使程序安全终止。

    2.Exception(异常)

            异常可分为两种:

            1.RuntimeException(运行时异常)(相当于c++中的logic-error)

                属于逻辑错误,比如空指针,数组下标越界等。此异常发生时,那必然是程序员的问题。
            2.IoException(相当于c++中的runtime-error)

                    比如FileNotFoundException。
    RuntimeException和Error我们称为未受查异常(Unchecked),IoException称为已受查异常(Checked)
    

2.声明已检查异常

    应注意两点:

    1.子类覆盖超类的一个方法,子类方法中声明的已受查异常,不能比父类的更通用(即:子类只能声明更具体的异常,或者不声明异常)。

    2.超类的方法没有声明已受查异常,子类也不可以抛出已受查异常

3.抛出异常
    对于已存在的异常类:1.找到合适的异常;2.创建该异常的对象;3.抛出异常。

    当已存在的标准异常类没办法满足描述自己想描述的信息时,可以自己创造异常类。

    创建异常类方法:

        1.定义一个类,该类必须派生于Exception或者是Exception类的子类

        2.此类需要包含两个构造方法:1.默认的构造方法;2.带有详细描述信息的构造方法。

        超类Throwable的toString方法会打印出这些详细信息。

Class MyException extends Exception{
  public MyException();
  public MyException(String gripe);
}

    习惯上,所有派生的异常类都包含一个默认的构造器,和一个带有详细描述信息的构造器。


java.lang.Throwable

    Throwable();

    Throwable(String gripes); 带特定的详细描述信息

    String getMessage(); 获取Throwable对象的详细描述信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值