Jruby Stack Traces

时间:2010-11-24 20:42:38

标签: java sql jdbc jruby

所以这可能是一个愚蠢的问题,但我不知道要问什么,因为'jruby print stack trace'用谷歌搜索得不到多少值得的,但是,

在编写访问抛出异常的Java类的Jruby代码时,如何打印堆栈跟踪?即现在我从其他看起来像

的代码中获取代码

rescue JavaSql::SQLException puts "SQLException" end

哪个有效,但我想看看哪个特定的SQLException正如我在Java中发生的那样(即PrintStackTrace(Exception e))?如何实现这一目标?

2 个答案:

答案 0 :(得分:3)

我从未使用过Ruby中的Java异常,但AFAIK,Java异常作为Ruby异常呈现给您,这意味着您可以通过向异常对象发送:message消息来获取异常消息:< / p>

begin
  # stuff
rescue JavaSql::SQLException => e
  puts "#{e.class}: #{e.message}"
end

这是你的意思吗?我不太确定在这种特殊情况下你需要堆栈跟踪,所以我可能会误解。

答案 1 :(得分:0)

可以想象它依赖于底层实现。如果底层实现只是吞下异常,您将无法看到堆栈跟踪。另外,为什么不让异常在ruby代码中冒出来,以便将跟踪抛出到屏幕上?