ログなどにクラス名、メソッド名、行番号などを出力したい場合がある。 エラーや例外が発生した場合はスタックトレース情報が得られるので そいつを拝借すればどこのクラスの何行目でエラーが発生したのかを ログに出力させることができるが、エラーや例外でない普通の場合、 どうしたらよいか? 実はJ2SE1.4からThrowable#getStackTrace()が追加されたので これをうまく使えば実現できる。 Throwable#getStackTrace()はStackTraceElement型の配列を返却する。 各要素がスタックに詰まれた要素(スタックフレーム)の一つとなっている。 スタックの一番上、つまり要素0番目がこのThrowableクラスを生成したメソッドを表す要素となる。 例えば、 ファイル名:Test.java、クラス名:Test、メソッド名:traceTest、 100行目: Sta