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

エラーが発生したステートメントの行番号を取得する方法はありますか?

4

1 に答える 1

17

バックトレースを取るだけです:

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

行番号のみを取得するには、正規表現を介してバックトレースから解析します。

詳細については、こちらを参照してください: Ruby の例外で行番号をキャッチする

于 2012-04-07T01:11:21.463 に答える