Java 学习笔记 (4) -异常 Exception

 Java中的异常实现了接口Throwable

interface  Throwable  {
    
//显示异常消息
    String getMessage();
    
//转化为字符串
    String toString();
    
//显示堆栈追踪信息
    void printStackTrace();
    
void printStackTrace(PrintStream );
}

接口Throwable派生出两个类Error和Exception
其中Error是系统错误,是不可控制的
Ecxeption则是抛出的异常,提供给程序员可以做相应处理
有一种特殊的Exception叫RuntimeException

普通Exception
函数声明时必须通知客户程序员可能抛出的异常
void function() throws tooBig,tooSmall.oldType {   //Body}
允许声明抛出不存在的异常,方便以后程序升级

Run-time Exception
不需主动throw  不需在声明函数时声明
通过系统自动throw 如果没有遇到相应的Catch 则中断程序,并printStackTrace();

自定义异常通常继承自Exception或RuntimeException

捕获异常:
try {
  //可能抛出异常的语句
}
catch(异常参数) {
  //异常处理
}
finally {
 //不论有无异常一定执行的语句
}
其中catch语句可以有多条 其中异常参数应该遵循范围从小到大的规则
如catch(FileNotFoundException fe) {}
catch(IOException ie) {}
catch(Exception e) {}
顺序一定不能错

方法遇到异常后方法就要被终止,因此,finally语句是相当必要的。例如当try打开一个文件时,无论如何,最后都应当把文件关闭。这是就应该在finally里做文件关闭的相关操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值