异常

异常好处:
1、不必在方法调用处进行检查
2、只需在一个地方处理错误

所有标准异常类都有两个构造器:
一个默认构造器
另一个是接受字符串作为参数

要自己定义异常类,必须从已有的异常类继承,最好是选择意思相近的异常类继承

printStackTrace()将打印从方法调用处直到异常抛出处的方法调用序列
e.printStackTrace()
e.getMessage()

代码必须与异常说明保持一致,如果方法里的代码产生了异常却没有进行处理,编译器会发现这个问题并提醒你;要么处理这个异常,要么就在异常说明中表明此方法将产生异常

从RuntimeException继承的异常,它们可以在没有异常说明的情况下被抛出

catch(Exception e)捕获所有异常

如果只是把当前异常对象重新抛出,那么printStackTrace()方法显示的将是原来异常抛出点调用栈信息,而非重新抛出点的信息。要想更新这个信息,可以调用fillInStackTrace()方法。
throw (Exception)e.fillInStackTrace()

永远不必为清理一个异常对象而担心,或者说为异常对象的清理而担心。它们都是用new在堆上创建的对象,所以垃圾回收器会自动把它们清理掉

异常链

Throwable这个Java类被用来表示任何可以作为异常被抛出的类

Throwable对象分为两种类型:
Error用来表示表示编译时和系统错误
Exception是可以被抛出的基本类型

如果对null引用进行调用,Java会自动抛出NullPointerException异常

finally子句的运用:
try
{
    
}
catch(A a)
{

}
finally
{
    //不管try、catch,finally都会执行
}

finally子句用于关闭已打开的文件、网络连接或者消除屏幕上画的图形

finally子句放在return之后也会被执行

当覆盖方法的时候,只能抛出在基类方法的异常说明里列出的那些异常

异常限制对构造器不起作用,不必理会基类构造器所抛出的异常

派生类构造器不能捕获基类构造器抛出的异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值