所以这可能是一个愚蠢的问题,但我不知道要问什么,因为'jruby print stack trace'用谷歌搜索得不到多少值得的,但是,
在编写访问抛出异常的Java类的Jruby代码时,如何打印堆栈跟踪?即现在我从其他看起来像
的代码中获取代码 rescue JavaSql::SQLException
puts "SQLException"
end
哪个有效,但我想看看哪个特定的SQLException正如我在Java中发生的那样(即PrintStackTrace(Exception e))?如何实现这一目标?
答案 0 :(得分:3)
我从未使用过Ruby中的Java异常,但AFAIK,Java异常作为Ruby异常呈现给您,这意味着您可以通过向异常对象发送:message
消息来获取异常消息:< / p>
begin
# stuff
rescue JavaSql::SQLException => e
puts "#{e.class}: #{e.message}"
end
这是你的意思吗?我不太确定在这种特殊情况下你需要堆栈跟踪,所以我可能会误解。
答案 1 :(得分:0)
可以想象它依赖于底层实现。如果底层实现只是吞下异常,您将无法看到堆栈跟踪。另外,为什么不让异常在ruby代码中冒出来,以便将跟踪抛出到屏幕上?