在 Java 里,除了对异常的捕获外,你还可以抛出异常,还可以创造异常。抛出异常的作用就是告诉你的调用者,程序出现了不正常的情况了,得不要期望的结果了。
在你实现的方法里,如果有你处理不了的异常,你应该选择把异常交给你的调用者,而不是让异常在你手上烂掉。比如调用者告诉你文件的路径,让你返回文件的内容,但是这个文件不存在,如果你这是简单的返回一个空 null 给调用者,它可能会以为文件的内容就是空,而不知道真实原因是文件不存在。总之好处多多,但是需要看你项目的需求了。
语法如下:很简单,就是在方法名的后面添加 throws 子句, throws 后面列出异常的类名。
public void methodname() throws AExcpetion,BException{
}
throws 是写在方法名的后面的,用来声明这个方法将会抛出的异常。throw 是用来抛出异常的。还是拿文件不存在这个问题举例,你可以这样子做:
public String readFile(String path) throws FileNotFoundException{
File file = new File(path);
if(!file.exist()){
throw new FileNotFoundException("File not found");
}
// 如果文件存在
// read file and return
}
当然,你也可以这样子写:
public String readFile(String path) throws FileNotFoundException{
try{
FileInputStream fis = new FileInputStream(path);
// read file and return
}catch(FileNotFoundException e){
throws e;
}
}
这个异常不是你产生的,可是你捕获到了,但你又不知道怎么处理,那你就可以把这个异常抛出去,让调用者来处理。
- EOF -
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: Java 基础之异常抛出
本文地址: https://binkery.com/archives/437.html