org.jruby.Ruby.getSystemExit()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.0k)|赞(0)|评价(0)|浏览(100)

本文整理了Java中org.jruby.Ruby.getSystemExit方法的一些代码示例,展示了Ruby.getSystemExit的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ruby.getSystemExit方法的具体详情如下:
包路径:org.jruby.Ruby
类名称:Ruby
方法名:getSystemExit

Ruby.getSystemExit介绍

暂无

代码示例

代码示例来源:origin: org.jruby/jruby-complete

public static RubySystemExit newInstance(Ruby runtime, int status, String message) {
  final RubyClass klass = runtime.getSystemExit();
  final IRubyObject[] args = new IRubyObject[] {
    runtime.newFixnum(status), runtime.newString(message)
  };
  return (RubySystemExit) klass.newInstance(runtime.getCurrentContext(), args, Block.NULL_BLOCK);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public static RubySystemExit newInstance(Ruby runtime, int status, String message) {
  RubyClass exc = runtime.getSystemExit();
  IRubyObject[] exArgs = new IRubyObject[] {
      runtime.newFixnum(status),
      runtime.newString(message) };
  return (RubySystemExit) exc.newInstance(runtime.getCurrentContext(), exArgs, Block.NULL_BLOCK);
}

代码示例来源:origin: org.jruby/jruby-core

public static RubySystemExit newInstance(Ruby runtime, int status, String message) {
  final RubyClass klass = runtime.getSystemExit();
  final IRubyObject[] args = new IRubyObject[] {
    runtime.newFixnum(status), runtime.newString(message)
  };
  return (RubySystemExit) klass.newInstance(runtime.getCurrentContext(), args, Block.NULL_BLOCK);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public static RubySystemExit newInstance(Ruby runtime, int status, String message) {
  RubyClass exc = runtime.getSystemExit();
  IRubyObject[] exArgs = new IRubyObject[] {
      runtime.newFixnum(status),
      runtime.newString(message) };
  return (RubySystemExit) exc.newInstance(runtime.getCurrentContext(), exArgs, Block.NULL_BLOCK);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

private static int handleRaiseException(RaiseException rj) {
  RubyException raisedException = rj.getException();
  Ruby runtime = raisedException.getRuntime();
  if (runtime.getSystemExit().isInstance(raisedException)) {
    IRubyObject status = raisedException.callMethod(runtime.getCurrentContext(), "status");
    if (status != null && !status.isNil()) {
      return RubyNumeric.fix2int(status);
    } else {
      return 0;
    }
  } else {
    runtime.getErrorStream().print(runtime.getInstanceConfig().getTraceType().printBacktrace(raisedException, runtime.getPosix().isatty(FileDescriptor.err)));
    return 1;
  }
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

private static int handleRaiseException(RaiseException rj) {
  RubyException raisedException = rj.getException();
  Ruby runtime = raisedException.getRuntime();
  if (runtime.getSystemExit().isInstance(raisedException)) {
    IRubyObject status = raisedException.callMethod(runtime.getCurrentContext(), "status");
    if (status != null && !status.isNil()) {
      return RubyNumeric.fix2int(status);
    } else {
      return 0;
    }
  } else {
    runtime.getErrorStream().print(runtime.getInstanceConfig().getTraceType().printBacktrace(raisedException, runtime.getPosix().isatty(FileDescriptor.err)));
    return 1;
  }
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

} catch (RaiseException rj) {
  RubyException raisedException = rj.getException();
  if (!getSystemExit().isInstance(raisedException)) {
    status = 1;
    printError(raisedException);

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

} catch (RaiseException rj) {
  RubyException raisedException = rj.getException();
  if (!getSystemExit().isInstance(raisedException)) {
    status = 1;
    printError(raisedException);

代码示例来源:origin: org.jruby/jruby-complete

} catch (RaiseException rj) {
  RubyException raisedException = rj.getException();
  if (!getSystemExit().isInstance(raisedException)) {
    status = 1;
    printError(raisedException);

代码示例来源:origin: org.jruby/jruby-core

} catch (RaiseException rj) {
  RubyException raisedException = rj.getException();
  if (!getSystemExit().isInstance(raisedException)) {
    status = 1;
    printError(raisedException);

代码示例来源:origin: org.jruby/jruby-complete

/**
 * This is only used from the main(String[]) path, in which case the err for this
 * run should be System.err. In order to avoid the Ruby err being closed and unable
 * to write, we use System.err unconditionally.
 *
 * @param ex
 * @return
 */
protected static int handleRaiseException(final RaiseException ex) {
  RubyException raisedException = ex.getException();
  final Ruby runtime = raisedException.getRuntime();
  if ( runtime.getSystemExit().isInstance(raisedException) ) {
    IRubyObject status = raisedException.callMethod(runtime.getCurrentContext(), "status");
    if (status != null && ! status.isNil()) {
      return RubyNumeric.fix2int(status);
    }
    return 0;
  } else if ( runtime.getSignalException().isInstance(raisedException) ) {
    IRubyObject status = raisedException.callMethod(runtime.getCurrentContext(), "signo");
    if (status != null && ! status.isNil()) {
      return RubyNumeric.fix2int(status) + 128;
    }
    return 0;
  }
  System.err.print(runtime.getInstanceConfig().getTraceType().printBacktrace(raisedException, runtime.getPosix().isatty(FileDescriptor.err)));
  return 1;
}

代码示例来源:origin: org.jruby/jruby-core

/**
 * This is only used from the main(String[]) path, in which case the err for this
 * run should be System.err. In order to avoid the Ruby err being closed and unable
 * to write, we use System.err unconditionally.
 *
 * @param ex
 * @return
 */
protected static int handleRaiseException(final RaiseException ex) {
  RubyException raisedException = ex.getException();
  final Ruby runtime = raisedException.getRuntime();
  if ( runtime.getSystemExit().isInstance(raisedException) ) {
    IRubyObject status = raisedException.callMethod(runtime.getCurrentContext(), "status");
    if (status != null && ! status.isNil()) {
      return RubyNumeric.fix2int(status);
    }
    return 0;
  } else if ( runtime.getSignalException().isInstance(raisedException) ) {
    IRubyObject status = raisedException.callMethod(runtime.getCurrentContext(), "signo");
    if (status != null && ! status.isNil()) {
      return RubyNumeric.fix2int(status) + 128;
    }
    return 0;
  }
  System.err.print(runtime.getInstanceConfig().getTraceType().printBacktrace(raisedException, runtime.getPosix().isatty(FileDescriptor.err)));
  return 1;
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public void exceptionRaised(RaiseException exception) {
  assert isCurrent();
  RubyException rubyException = exception.getException();
  Ruby runtime = rubyException.getRuntime();
  if (runtime.getSystemExit().isInstance(rubyException)) {
    runtime.getThreadService().getMainThread().raise(new IRubyObject[] {rubyException}, Block.NULL_BLOCK);
  } else if (abortOnException(runtime)) {
    RubyException systemExit;
    if (!runtime.is1_9()) {
      runtime.printError(rubyException);
      String message =  rubyException.message.convertToString().toString();
      systemExit = RubySystemExit.newInstance(runtime, 1, message);
      systemExit.set_backtrace(rubyException.backtrace());
    } else {
      systemExit = rubyException;
    }
    runtime.getThreadService().getMainThread().raise(new IRubyObject[] {systemExit}, Block.NULL_BLOCK);
    return;
  } else if (runtime.getDebug().isTrue()) {
    runtime.printError(exception.getException());
  }
  exitingException = exception;
}

代码示例来源:origin: org.jruby/jruby-complete

if (runtime.getSystemExit().isInstance(rubyException)) {
  runtime.getThreadService().getMainThread().raise(rubyException);
} else if (abortOnException(runtime) || reportOnException.isTrue()) {

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public void exceptionRaised(RaiseException exception) {
  assert isCurrent();
  RubyException rubyException = exception.getException();
  Ruby runtime = rubyException.getRuntime();
  if (runtime.getSystemExit().isInstance(rubyException)) {
    runtime.getThreadService().getMainThread().raise(new IRubyObject[] {rubyException}, Block.NULL_BLOCK);
  } else if (abortOnException(runtime)) {
    RubyException systemExit;
    if (!runtime.is1_9()) {
      runtime.printError(rubyException);
      String message =  rubyException.message.convertToString().toString();
      systemExit = RubySystemExit.newInstance(runtime, 1, message);
      systemExit.set_backtrace(rubyException.backtrace());
    } else {
      systemExit = rubyException;
    }
    runtime.getThreadService().getMainThread().raise(new IRubyObject[] {systemExit}, Block.NULL_BLOCK);
    return;
  } else if (runtime.getDebug().isTrue()) {
    runtime.printError(exception.getException());
  }
  exitingException = exception;
}

代码示例来源:origin: org.jruby/jruby-core

if (runtime.getSystemExit().isInstance(rubyException)) {
  runtime.getThreadService().getMainThread().raise(rubyException);
} else if (abortOnException(runtime) || reportOnException.isTrue()) {

相关文章

微信公众号

最新文章

更多

Ruby类方法