String (LocatableEvent event) { String exceptionName = (getQualifiedName() != null) ? getQualifiedName() : CommonClassNames.JAVA_LANG_THROWABLE; String threadName = null; if (event instanceof ExceptionEvent exceptionEvent) { try { exceptionName = exceptionEvent.exception().type().name(); threadName = exceptionEvent.thread().name(); } catch (Exception ignore) { } } Location location = event.location(); String locationQName = DebuggerUtilsEx.getLocationMethodQName(location); String locationInfo; try { String file = location.sourceName(); int line = DebuggerUtilsEx.getLineNumber(location, false); locationInfo = JavaDebuggerBundle.message("exception.breakpoint.console.message.location.info", file, line); } catch (AbsentInformationException e) { locationInfo = JavaDebuggerBundle.message("exception.breakpoint.console.message.location.info.absent"); } if (threadName != null) { return JavaDebuggerBundle.message("exception.breakpoint.console.message.with.thread.info", exceptionName, threadName, locationQName, locationInfo ); } else { return JavaDebuggerBundle.message("exception.breakpoint.console.message", exceptionName, locationQName, locationInfo); } }