diff --git a/core/src/main/java/org/jruby/runtime/backtrace/TraceType.java b/core/src/main/java/org/jruby/runtime/backtrace/TraceType.java index 82a2a94ebe5..a7261a9cb8a 100644 --- a/core/src/main/java/org/jruby/runtime/backtrace/TraceType.java +++ b/core/src/main/java/org/jruby/runtime/backtrace/TraceType.java @@ -399,7 +399,12 @@ protected static String printBacktraceJRuby(RubyException exception, boolean con boolean color = console && runtime.getInstanceConfig().getBacktraceColor(); // exception line - String message = exception.message(context).toString(); + String message; + try { + message = exception.callMethod(context, "message").toString(); + } catch (org.jruby.exceptions.Exception _) { + message = exception.message(context).toString(); + } if (exception.getMetaClass() == runtime.getRuntimeError() && message.length() == 0) { message = "No current exception"; } @@ -505,4 +510,4 @@ private static void printErrorPos(ThreadContext context, PrintStream errorStream } } } -} \ No newline at end of file +}