一、异常结构:
/** * 方法签名 抛出异常 * @param filePath 文件路径 */ public static void readFile(String filePath) throws FileNotFoundException { File file = new File(filePath); FileReader reader = new FileReader(file); BufferedReader bufferedReader = new BufferedReader(reader); // bufferedReader.close(); }
/** * 方法签名 抛出异常 * @param filePath 文件路径 */ public static void readFile(String filePath) throws IOException { File file = new File(filePath); FileReader reader = new FileReader(file); BufferedReader bufferedReader = new BufferedReader(reader); bufferedReader.close(); }
/** * 方法签名 抛出异常 * @param filePath 文件路径 */ public static void readFile(String filePath){ try { FileReader reader = new FileReader(filePath); BufferedReader bufferedReader = new BufferedReader(reader); // 手动关闭 bufferedReader.close(); } catch (IOException e){ log.error(e.getLocalizedMessage()); } finally { // do something } try(FileReader reader = new FileReader(filePath); BufferedReader bufferedReader = new BufferedReader(reader)){ // 自动关闭,不需要下面一行代码 // bufferedReader.close(); // do something }catch (IOException ioException){ log.error(ioException.getLocalizedMessage()); } }
/** * * @param parama * @throws Exception */ public static void exceptionTest(String parama) throws Exception { try{ // some code }catch(Exception e){ log.error(e.getLocalizedMessage()); throw new Exception("自定义异常/其他异常"); } }
四、捕获异常(同等级异常可以使用“|”分割,用一个catch捕获)
/** * * @param filePath * @throws Exception */ public static void exceptionTest(String filePath) throws IOException { try { FileReader reader = new FileReader(filePath); BufferedReader bufferedReader = new BufferedReader(reader); // 手动关闭 bufferedReader.close(); File file = new File(filePath); file.delete(); }catch(FileNotFoundException | FileSystemException e){ log.error(e.getLocalizedMessage()); } }
原文:https://www.cnblogs.com/lishangquanblgs/p/15146999.html