@Deprecated // un-used public static void rewriteStackTrace(final Ruby runtime, final Throwable e) { final StackTraceElement[] javaTrace = e.getStackTrace(); BacktraceData backtraceData = runtime.getInstanceConfig().getTraceType().getIntegratedBacktrace(runtime.getCurrentContext(), javaTrace); e.setStackTrace(RaiseException.javaTraceFromRubyTrace(backtraceData.getBacktrace(runtime))); }
@Deprecated // un-used public static void rewriteStackTrace(final Ruby runtime, final Throwable e) { final StackTraceElement[] javaTrace = e.getStackTrace(); BacktraceData backtraceData = runtime.getInstanceConfig().getTraceType().getIntegratedBacktrace(runtime.getCurrentContext(), javaTrace); e.setStackTrace(RaiseException.javaTraceFromRubyTrace(backtraceData.getBacktrace(runtime))); }
public static IRubyObject rewriteStackTraceAndThrow(ThreadContext context, Throwable t) { Ruby runtime = context.runtime; StackTraceElement[] javaTrace = t.getStackTrace(); BacktraceData backtraceData = runtime.getInstanceConfig().getTraceType().getIntegratedBacktrace(context, javaTrace); t.setStackTrace(RaiseException.javaTraceFromRubyTrace(backtraceData.getBacktrace(runtime))); throwException(t); return null; // not reached }
public static IRubyObject rewriteStackTraceAndThrow(ThreadContext context, Throwable t) { Ruby runtime = context.runtime; StackTraceElement[] javaTrace = t.getStackTrace(); BacktraceData backtraceData = runtime.getInstanceConfig().getTraceType().getIntegratedBacktrace(context, javaTrace); t.setStackTrace(RaiseException.javaTraceFromRubyTrace(backtraceData.getBacktrace(runtime))); throwException(t); return null; // not reached }
@Deprecated public RaiseException(Throwable cause, org.jruby.NativeException nativeException) { super(nativeException.getMessageAsJavaString(), cause); providedMessage = super.getMessage(); // cause.getClass().getId() + ": " + message setException(nativeException); preRaise(nativeException.getRuntime().getCurrentContext(), nativeException.getCause().getStackTrace()); setStackTrace(RaiseException.javaTraceFromRubyTrace(exception.getBacktraceElements())); }
@Deprecated public RaiseException(Throwable cause, org.jruby.NativeException nativeException) { super(nativeException.getMessageAsJavaString(), cause); providedMessage = super.getMessage(); // cause.getClass().getId() + ": " + message setException(nativeException); preRaise(nativeException.getRuntime().getCurrentContext(), nativeException.getCause().getStackTrace()); setStackTrace(RaiseException.javaTraceFromRubyTrace(exception.getBacktraceElements())); }
public RaiseException(Throwable cause, NativeException nativeException) { super(buildMessage(cause), cause); providedMessage = buildMessage(cause); setException(nativeException, true); preRaise(nativeException.getRuntime().getCurrentContext(), nativeException.getCause().getStackTrace()); setStackTrace(javaTraceFromRubyTrace(exception.getBacktraceElements())); }
public RaiseException(Throwable cause, NativeException nativeException) { super(buildMessage(cause), cause); providedMessage = buildMessage(cause); setException(nativeException, true); preRaise(nativeException.getRuntime().getCurrentContext(), nativeException.getCause().getStackTrace()); setStackTrace(javaTraceFromRubyTrace(exception.getBacktraceElements())); }
private void preRaise(ThreadContext context, IRubyObject backtrace) { context.runtime.incrementExceptionCount(); doSetLastError(context); doCallEventHook(context); if (backtrace == null) { exception.prepareBacktrace(context, nativeException); } else { exception.forceBacktrace(backtrace); } // call Throwable.setStackTrace so that when RaiseException appears nested inside another exception, // Ruby stack trace gets displayed // JRUBY-2673: if wrapping a NativeException, use the actual Java exception's trace as our Java trace if (exception instanceof NativeException) { setStackTrace(((NativeException)exception).getCause().getStackTrace()); } else { setStackTrace(javaTraceFromRubyTrace(exception.getBacktraceElements())); } if (RubyInstanceConfig.LOG_EXCEPTIONS) TraceType.dumpException(exception); }
private void preRaise(ThreadContext context, IRubyObject backtrace) { context.runtime.incrementExceptionCount(); doSetLastError(context); doCallEventHook(context); if (backtrace == null) { exception.prepareBacktrace(context, nativeException); } else { exception.forceBacktrace(backtrace); } // call Throwable.setStackTrace so that when RaiseException appears nested inside another exception, // Ruby stack trace gets displayed // JRUBY-2673: if wrapping a NativeException, use the actual Java exception's trace as our Java trace if (exception instanceof NativeException) { setStackTrace(((NativeException)exception).getCause().getStackTrace()); } else { setStackTrace(javaTraceFromRubyTrace(exception.getBacktraceElements())); } if (RubyInstanceConfig.LOG_EXCEPTIONS) TraceType.dumpException(exception); }
private void preRaise(ThreadContext context, IRubyObject backtrace) { context.runtime.incrementExceptionCount(); doSetLastError(context); doCallEventHook(context); if (RubyInstanceConfig.LOG_EXCEPTIONS) TraceType.logException(exception); // We can only omit backtraces of descendents of Standard error for 'foo rescue nil' if (requiresBacktrace(context)) { if (backtrace == null) { exception.prepareBacktrace(context); } else { exception.forceBacktrace(backtrace); if ( backtrace.isNil() ) return; } setStackTrace(RaiseException.javaTraceFromRubyTrace(exception.getBacktraceElements())); } }
private void preRaise(ThreadContext context, IRubyObject backtrace) { context.runtime.incrementExceptionCount(); doSetLastError(context); doCallEventHook(context); if (RubyInstanceConfig.LOG_EXCEPTIONS) TraceType.logException(exception); // We can only omit backtraces of descendents of Standard error for 'foo rescue nil' if (requiresBacktrace(context)) { if (backtrace == null) { exception.prepareBacktrace(context); } else { exception.forceBacktrace(backtrace); if ( backtrace.isNil() ) return; } setStackTrace(RaiseException.javaTraceFromRubyTrace(exception.getBacktraceElements())); } }