为何自定义异常中Throwable.getMessage()的返回值被忽略?
自定义异常getMessage()未打印的解决办法
你的问题出在printErrorMessage方法里:你只调用了e.getMessage()获取异常信息,但没有将这个信息输出到控制台,所以IDE会提示“Throwable.getMessage的返回值被忽略”,同时看不到自定义的异常文本。
修改方案
直接修改printErrorMessage方法,把获取到的异常信息打印出来:
public static void printErrorMessage(Exception e) { // 打印异常的自定义消息 System.out.println(e.getMessage()); }
修改后,当输入小于5的数字时,控制台会依次输出:
SmallException caught! Number was below 5.
如果需要打印更完整的异常堆栈信息(包含调用链),可以替换成:
public static void printErrorMessage(Exception e) { e.printStackTrace(); }
内容的提问来源于stack exchange,提问作者kinkkelaade
相关产品推荐
相关产品推荐

