Java异常处理

来源:互联网 发布:mangos 编译 centos 编辑:程序博客网 时间:2024/06/14 06:50

Java异常处理

异常处理的原则

Java的基本哲学是——形式错误的代码是不能运行的

检查错误的最好的时间实在编译的时候,但是有些错误在编译的时候是没有办法检查出来的,有些问题必须在运行的时候才能表现出来。因此在Java中的异常分为两种,chechked exceptionunchecked exception

异常处理的两种理论中,恢复模型和终止模型中Java支持终止模型。即不去试图挽回错误。

异常处理的过程

如果在一某个方法中出现了异常,当前方法将抛出异常,将使用new方法在堆分配一个异常对象,然后获得此对象的引用,并从当前环境弹出异常对象的引用,这个错误将在一个特定的地方进行处理,这个特定的地方就是异常处理程序

异常类

Throwable类表示任何可以作为异常被抛出的类,是所有异常类的根,它可以分为两种类型,一种是Error(编译时系统错误),一种是Exception(可以被抛出的基本类型)

所有的异常几乎都继承自Exception类,通常会实现一个空的构造函数和一个接受字符串的构造函数。

异常的限制

  • 当覆盖基类普通方法时,子类方法只能抛出基类被覆盖方法的异常说明里列出来的异常。因为,如果子类方法可以抛出未列出的异常,则基类对象调用方法的代码就不能用于子类对象了,因为子类对象是有可能抛出异常的,而原来写的基类的代码根本没有处理这种情况。

  • 异常限制对构造函数不起作用,子类的构造函数的异常声明必须继承基类构造函数的异常声明,因为基类的构造函数总是被子类构造函数以这样或者那样的形式调用。

0 0