关于异常的处理,刚开始学的时候觉得没有什么可以理解的,但是发现写多了之后就慢慢地知道哪里会出现异常,这个需要一定的积累,估计以后还会进行更多的练习。
推荐处理方式:
单独捕获处理:
try{
}catch(){
}
···
## 多重捕获:
```javascript
try{
}catch(){
}catch(){
}catch(){
}…..以此类推;
个人不推荐处理方式:throws XaaaaaaaException
Xaaaaaa:特定的变量名
如:
import java.io.*;
public class className
{
public void deposit(double amount) throws RemoteException
{
// Method implementation
throw new RemoteException();
}
//Remainder of class definition
}
finally关键字
finally 关键字用来创建在 try 代码块后面执行的代码块。
无论是否发生异常,finally 代码块中的代码总会被执行。
在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。
finally 代码块出现在 catch 代码块最后,语法如下:
try{
// 程序代码
}catch(异常类型1 异常的变量名1){
// 程序代码
}catch(异常类型2 异常的变量名2){
// 程序代码
}finally{
// 程序代码
}
注意下面事项:
• catch 不能独立于 try 存在。
• 在 try/catch 后面添加 finally 块并非强制性要求的。
• try代码后不能既没 catch 块也没 finally 块。
• try, catch, finally 块之间不能添加任何代码。
声明自定义异常
在 Java 中你可以自定义异常;
但是编写自己的异常类时需要记住下面的几点。
• 所有异常都必须是 Throwable 的子类。
• 如果希望写一个检查性异常类,则需要继承 Exception 类。
• 如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。
可以像下面这样定义自己的异常类:
class MyException extends Exception{ }
class My RuntimeException extends RuntimeExceptioan{ }
只继承Exception 类来创建的异常类是检查性异常类。
下面的 InsufficientFundsException 类是用户定义的异常类,它继承自 Exception。
一个异常类和其它任何类一样,包含有变量和方法。
*使用方法与异常处理也是一样的。