异常中没有“返回码”值(通常),但它们确实包含错误消息。您应该在块中处理它们,您可以在其中指定要处理的异常类型。您可以在一个块之后设置多个块,以不同方式处理不同类型的异常。将按指定的顺序调用 catch 块,第一个具有合适参数类型的块将处理异常。因此,您应该首先捕获更具体的异常类型,然后捕获更通用的异常类型。catch
catch
try
简单示例:
try {
...
throw new FileNotFoundException("This is an error message");
...
} catch (FileNotFoundException e) {
System.out.println("File not found: " + e.getMessage());
...
} catch (EOFException e) {
System.out.println("End of file reached: " + e.getMessage());
...
} catch (IOException e) { // catch all IOExceptions not handled by previous catch blocks
System.out.println("General I/O exception: " + e.getMessage());
e.printStackTrace();
...
}
正如您在上一个 catch 块中看到的,异常存储其来源的堆栈跟踪,可以打印这些跟踪。但是,像这里一样直接打印此类消息通常不是一个好主意。在实际的生产代码中,您通常希望使用日志记录框架记录这些消息,或者在 UI 上显示(合适的部分)它们。