前言
当我们编写Java代码时,可能会遇到需要处理异常的情况。我们可以使用
throws
和try-catch
关键字来处理异常,具有不同的使用场景
使用 throws
关键字
在方法声明中使用
throws
关键字是将异常传递给调用方的一种方式。当方法内部无法处理异常时,我们可以使用throws
将异常交给调用方处理。例如:public void readFile(String path) throws FileNotFoundException, IOException { FileReader fr = new FileReader(path); BufferedReader br = new BufferedReader(fr); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } }
上面的代码中,
readFile
方法声明了throws FileNotFoundException
和IOException
异常,表示这个方法可能会抛出这两种异常,而调用这个方法的代码必须对这些异常进行处理。这种方式适用于我们无法处理异常,但是需要在方法声明中告知其他开发者可能出现的异常。
使用 try-catch
关键字
在代码块中使用
try-catch
关键字是捕获和处理异常的一种方式。当我们能够处理异常时,我们可以使用try-catch
来处理异常。例如:public void readFile(String path) { try { FileReader fr = new FileReader(path); BufferedReader br = new BufferedReader(fr); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
上面的代码中,
readFile
方法使用try-catch
来处理可能出现的FileNotFoundException
和IOException
异常。当这些异常出现时,会进入catch
块中,我们可以在catch
块中处理这些异常或记录日志。这种方式适用于我们能够处理异常,或者需要进行一些资源清理工作。