Java的异常小结
2009-11-08 18:01
453 查看
主要是举个例子说明一下什么用throws,什么时候用try-catch。
这是用来输出当前目录下的所有文件的一个小程序。
print函数使用throws是因为在这个函数中如果发生了异常,那么这么函数就无法再执行下去了。
而在main函数的循环中,因为在处理一个文件时发生了异常(可能的原因有很多啊,比如突然被人删除了),我们仍然可以跳过这个文件继续执行,因此使用了try-catch。
总结一下,当在函数中自己可以处理异常时,那么就使用try-catch。如果无法处理,那么就用throws,让外层的函数去处理。
import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class Test { public static void main(String[] args) { File dir = new File("."); FileFilter dirFilter = new FileFilter() { public boolean accept(File pathname) { return pathname.isFile(); } }; for (File file: dir.listFiles(dirFilter)) { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(file)); print(reader); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } } } private static void print(BufferedReader reader) throws IOException { String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } } }
这是用来输出当前目录下的所有文件的一个小程序。
print函数使用throws是因为在这个函数中如果发生了异常,那么这么函数就无法再执行下去了。
而在main函数的循环中,因为在处理一个文件时发生了异常(可能的原因有很多啊,比如突然被人删除了),我们仍然可以跳过这个文件继续执行,因此使用了try-catch。
总结一下,当在函数中自己可以处理异常时,那么就使用try-catch。如果无法处理,那么就用throws,让外层的函数去处理。
相关文章推荐
- java中异常分类小结
- Java常见异常(Runtime Exception )小结&&关于RuntimeException异常
- Java常见异常(Runtime Exception )小结 .
- Java常见异常(Runtime Exception )小结
- Java常见异常(Runtime Exception )小结
- Java常见异常(Runtime Exception )小结
- Java常见异常(Runtime Exception )小结
- java.lang.ExceptionInInitializerError异常解决小结
- 黑马程序员——java小结_009.003 _ArrayList中的 ConcurrentModificationException异常
- java异常小结
- Java常见异常(Runtime Exception )小结
- Java常见异常(Runtime Exception )小结
- Java常见异常(Runtime Exception )小结
- Java内存区域与内存溢出异常小结
- Java常见异常(Runtime Exception )小结
- java 异常 小结
- Java常见异常(Runtime Exception )小结(转)
- java异常小结
- Java常见异常(Runtime Exception )小结
- 16、Java异常小结