📅  最后修改于: 2023-12-03 14:42:56.218000             🧑  作者: Mango
在Java中,如果发生异常,程序将抛出一个可抛出对象。这个对象包含了一些异常信息,其中包括一个字符串,通过 getMessage() 方法可以获取这个字符串。
在 Throwable 类中定义了 getMessage() 方法:
public String getMessage()
该方法返回一个字符串,其中包含了关于当前可抛出对象的详细信息。对于一些 Throwable 的子类,getMessage() 方法可能会返回 null。
我们可以通过 getMessage() 方法获取异常信息,并将其打印到控制台或者写入日志文件等:
try {
// 程序代码
} catch (Exception e) {
System.out.println("发生了异常:" + e.getMessage());
// 将异常信息写入日志文件
logger.error(e.getMessage());
}
在上述代码中,我们使用了 try-catch 块捕获了异常,然后通过 getMessage() 方法获取了异常信息,并将其打印到控制台和写入了日志文件。
除了 getMessage() 方法,Throwable 类还定义了其他一些用于获取异常信息的方法,如 getLocalizedMessage() 和 toString() 等。
如果 getMessage() 方法返回 null,我们可以使用 getLocalizedMessage() 方法代替,该方法会返回一个本地化的异常信息。或者,我们也可以使用 toString() 方法获取一个包含异常类名和异常信息的字符串。
// 使用 getLocalizedMessage() 替代 getMessage()
System.out.println("发生了异常:" + e.getLocalizedMessage());
// 使用 toString() 方法获取异常信息
System.out.println("发生了异常:" + e.toString());
通过本文,我们了解了 Java 中的可抛出对象和 getMessage() 方法,并通过实例介绍了如何使用 getMessage() 方法获取异常信息。此外,我们还了解了其他获取异常信息的替代方法。
在编写程序时,我们应该编写充分的异常处理代码,并充分利用 getMessage() 方法获取异常信息,以便更好地定位和解决问题。