黑马程序员技术交流社区
标题: 最近的课程中用到了抛出异常,整理一下来看 [打印本页]
作者: 花生粒儿 时间: 2018-8-11 16:55
标题: 最近的课程中用到了抛出异常,整理一下来看
本帖最后由 花生粒儿 于 2018-8-11 16:57 编辑
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。
比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。
异常发生的原因有很多,通常包含以下几大类:
- 用户输入了非法数据。
- 要打开的文件不存在。
- 网络通信时连接中断,或者JVM内存溢出。
而所有的异常类是从 java.lang.Exception 类继承的子类。如果一个方法没有捕获到一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。
也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。
下面方法的声明抛出一个 RemoteException 异常:
import java.io.*;public class className{
public void deposit(double amount) throws RemoteException {
// 方法实现
throw new RemoteException();
}
//类定义的其他部分
}
一个方法可以声明抛出多个异常,多个异常之间用逗号隔开。
例如,下面的方法声明抛出 RemoteException 和 InsufficientFundsException:
import java.io.*;
public class className{
public void withdraw(double amount) throws RemoteException, InsufficientFundsException {
// 方法实现
}
//类定义的其他部分
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |