Ruby 3.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Kernelモジュール > $@

variable $@

$@ -> [String] | nil[permalink][rdoc]

最後に例外が発生した時のバックトレースを表す配列です。 Kernel.#raise によって設定されます。

配列の各要素はメソッドの呼び出し位置を示す文字列で形式は

"filename:line"

または

"filename:line:in `methodname'"

です。これは Kernel.#caller が返す値と同じ形式です。

$@ へ値を代入するときは、$! が nil であってはいけません。 $@ の値は、$!.backtrace の値と同じです。また、$@ への代入は $!.set_backtrace 呼び出しと同じです。

文字列の配列でも nil でもない値を代入しようとすると、 TypeError 例外が発生します。

この変数はスレッドローカルです。