IronRuby堆栈跟踪

时间:2010-12-15 01:14:09

标签: error-handling stack-trace ironruby callstack

问候!我们正在开发一个IronRuby项目。有一个C#WPF应用程序。我们为该应用程序编写了一个模块。当IronRuby中出现错误时,应用程序会显示一个消息框。它只显示错误消息。它没有显示哪个Ruby脚本引发了错误。

我们如何让IronRuby显示引发错误的ruby文件?

1 个答案:

答案 0 :(得分:0)

我找到了解决方法,你需要用开始救援包装代码:

begin
  # Write your ruby code here, that can have an error
rescue SyntaxError, NameError => boom
  str = "String doesn't compile:\n " + boom
  puts str
  puts boom.backtrace.join("\n")
rescue StandardError => bang
  str = "Error running script: " + bang
  puts str
  puts bang.backtrace.join("\n")
rescue
  puts "Unknown error happened"
end # rescues 

似乎Ruby解释器在发生错误时抛出异常,因此您需要捕获它并将其堆栈跟踪写入messagebox。如果您找到其他方式,请在此处写下