📖

[Feature #21105] エラー情報に列番号を追加する提案

2025/02/04に公開

[Feature #21105] Improve Ruby Stack Trace to Include Exact Error Position (Column Number)

  • Ruby でエラーが発生した時に以下のようにファイルパス + 行番号の情報が出力される
class Example
  def self.run
    # /path/to/test.rb:3:in 'Example.run': undefined method 'some_method_call' for nil (NoMethodError)
    nil.some_method_call
  end
end

Example.run
  • この上に列番号の情報を追加する提案になる
  • 1行に複数の処理が存在する時に列番号を参照してデバッグをやりやすくしたい、みたいなモチベーションみたいですね
  • これなんですが現状だと error_highlight でエラー箇所を示してくれるのでそれで解決できないか?とコメントされていますねー
class Example
  def self.run
    nil.foo.bar.baz
  end
end

Example.run
example.rb:3:in `run': undefined method `foo' for nil (NoMethodError)

    nil.foo.bar.baz
       ^^^^
	from example.rb:7:in `<main>'
  • それはそう、と思いつつ出力情報として列番号がほしい具体的なケースがあったりするのかなー
    • 例えばエラー出力を元にして外部ツールから情報を拾ってきたいとか
GitHubで編集を提案

Discussion