JAVA throws使用举例
来源:百度知道 编辑:UC知道 时间:2024/06/23 18:34:20
什么叫可能抛出的异常,只要直接在有可能出现异常的地方抛出异常就好了,为什么还要在方法体上预先定义可能抛出什么异常呢?有什么好处吗?希望告诉给详细解答下
throws 用于强迫方法的使用者对抛出的异常进行处理。如果抛出的是Checked Exception那么使用这个方法的地方必须用try/catch来处理异常,如果是unchecked exception的话不会对语法有任何限制,但可以提醒方法的使用者这个方法有可能出现的异常。
更加实用的角度来说就是当一个方法内部有可能出现必须要try/catch的异常,但这个方法又不知道怎么样处理这个异常,就只能把这个异常扔到外面,让使用这个方法的地方处理这个异常。
void 读文件(File 文件) {
try {
FileReader fr = new FileReader(文件);
} catch(IOException e) {
//必须要catch这个异常(找不到文件),但这里根本不知道怎么处理
}
}
void 读文件2(File 文件) throws IOException { //让使用这个方法的地方处理这个异常
FileReader fr = new FileReader(文件);
}
void main() {
File 文 = new File();
读文件(文); //找没找到文件这里根本不知道
try {
读文件2(文);
} catch(IOException e) {
System.exit(1); //没找到文件,退出程序
}
}
throws用在方法的异常声明:
/**
* 假设参数为空时会抛出异常.
* NullPointerException可以是JDK已经定义的异常或者用户定义的异 * 常。
*/
public void aFunc(String arg) throws NullPointerException{
if(arg == null) {
throw new NullPointerException();