ruby - 是否有可能获得引发错误的行号?

标签 ruby exception exception-handling

begin
  . . .
  # error occurs here
  . . .
rescue => error
  puts "Error: " + error.message
end

有没有办法获取发生错误的语句的行号?

最佳答案

只需要回溯:

begin
  . . .
  # error occurs here
  . . .
rescue => error
  puts "Error: " + error.message
  puts error.backtrace
end

要仅获取行号 - 只需通过正则表达式将其从回溯中解析出来即可。

可在此处找到更多信息:Catching line numbers in ruby exceptions

关于ruby - 是否有可能获得引发错误的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050813/

相关文章:

ruby-on-rails - 在 ActiveSupport::Concern 中访问包含类的 protected 常量

ruby-on-rails - Errno::EPERM:不允许操作@dir_s_rmdir

java - “Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements”

c++ - 处理文件和图像加载异常的最佳方式是什么?

ruby-on-rails - 具有可能不同类型 mongoid 的字段

ruby-on-rails - 为什么这个数据映射器对象不保存?

java - 如何使用 hasNextInt() 捕获异常?我需要 Int 但如果输入是字符,那就不好了

c++ - 如何捕获 C++ 标准 17.6.4.10 [res.on.exception.handling] 中描述的异常?

java - 如何处理 Spring Security AuthenticationProvider 抛出的运行时异常?

c# - 在类型上找不到匹配的构造函数