Ruby 3.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Kernelモジュール > $@
$@ -> [String] | nil
[permalink][rdoc]最後に例外が発生した時のバックトレースを表す配列です。 Kernel.#raise によって設定されます。
配列の各要素はメソッドの呼び出し位置を示す文字列で形式は
"filename:line"
または
"filename:line:in `methodname'"
です。これは Kernel.#caller が返す値と同じ形式です。
$@ へ値を代入するときは、$! が nil であってはいけません。 $@ の値は、$!.backtrace の値と同じです。また、$@ への代入は $!.set_backtrace 呼び出しと同じです。
文字列の配列でも nil でもない値を代入しようとすると、 TypeError 例外が発生します。
この変数はスレッドローカルです。