JAVA throws使用举例

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:34:20
谁能给我举个完整的例子说明下throws的用法啊,我看了很多资料都只是说在哪里使用,我一直不懂具体该在什么情况下使用
什么叫可能抛出的异常,只要直接在有可能出现异常的地方抛出异常就好了,为什么还要在方法体上预先定义可能抛出什么异常呢?有什么好处吗?希望告诉给详细解答下

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();