printStackTrace
日本語 | 積み上げ軌跡出力 |
英語 | print stack trace |
ふりがな | ぷりんとすたっくとれーす |
フリガナ | プリントスタックトレース |
スタックトレースを出力するメソッド。
Throwableクラスのメソッド。
投げられた例外の「例外クラス名」、コンストラクタで渡された「例外の説明」、呼び出し元メソッドとファイル名及び行番号(つまり「スタックトレース」)、「Caused by」の4つを標準エラー出力に出力する。
例外が投げられた理由を簡単に取得できるため便利。デバッグの友。
引数を渡さずに呼び出すと標準エラー出力に出力される。
引数にPrintWriterクラスを渡すと、渡した文字出力ストリームを通して出力されるため、文字列やファイル等、好きな出力先を選択することもできる。
Throwableクラスのメソッド。
投げられた例外の「例外クラス名」、コンストラクタで渡された「例外の説明」、呼び出し元メソッドとファイル名及び行番号(つまり「スタックトレース」)、「Caused by」の4つを標準エラー出力に出力する。
例外が投げられた理由を簡単に取得できるため便利。デバッグの友。
引数を渡さずに呼び出すと標準エラー出力に出力される。
引数にPrintWriterクラスを渡すと、渡した文字出力ストリームを通して出力されるため、文字列やファイル等、好きな出力先を選択することもできる。
参考サイト
// Sample.java
import java.io.PrintWriter;
import java.io.StringWriter;
public class Sample
{
public static void main( String[] args )
{
// test01()メソッドを呼び出します。
test01();
}
private static void test01()
{
// test02()メソッドを呼び出します。
test02();
}
private static void test02()
{
try
{
// 例外を投げます。
throw new Exception( "テスト" );
}
catch( Exception e )
{
// スタックトレースを出力します。
e.printStackTrace();
// java.lang.Exception: テスト
// at Sample.test02(Sample.java:24)
// at Sample.test01(Sample.java:16)
// at Sample.main(Sample.java:10)
// このスタックトレースの内容は以下の通りです。
// 投げられた例外のクラス
// ↓ 例外生成時に渡された文字列
// ↓ ↓
// java.lang.Exception: テスト
// at Sample.test02(Sample.java:24)
// at Sample.test01(Sample.java:16)
// at Sample.main(Sample.java:10)
// ↑
// スタックトレースです。一番下が最初に呼ばれた
// メソッド、下から3番目が例外が投げられたメソッド
// になります。
// このスタックトレースから、Sampleクラスの
// test02()メソッド(Sample.javaファイルの24行目)
// でExceptionクラスの例外が投げられたことがわかります。
// printStackTrace()メソッドで出力される文字列を
// 取得したい場合には、PrintWriterクラスの
// インスタンスを作り、その参照を
// printStackTrace()メソッドに渡します。
// (ここではPrintWriterクラスとStringWriterクラスを
// 組み合わせて使用します)
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter( stringWriter );
e.printStackTrace( printWriter );
// これで、StringWriterクラスのtoString()メソッドで
// スタックトレースを取得できます。
System.out.println( stringWriter.toString() );
// java.lang.Exception: テスト
// at Sample.test02(Sample.java:24)
// at Sample.test01(Sample.java:16)
// at Sample.main(Sample.java:10)
}
}
}
import java.io.PrintWriter;
import java.io.StringWriter;
public class Sample
{
public static void main( String[] args )
{
// test01()メソッドを呼び出します。
test01();
}
private static void test01()
{
// test02()メソッドを呼び出します。
test02();
}
private static void test02()
{
try
{
// 例外を投げます。
throw new Exception( "テスト" );
}
catch( Exception e )
{
// スタックトレースを出力します。
e.printStackTrace();
// java.lang.Exception: テスト
// at Sample.test02(Sample.java:24)
// at Sample.test01(Sample.java:16)
// at Sample.main(Sample.java:10)
// このスタックトレースの内容は以下の通りです。
// 投げられた例外のクラス
// ↓ 例外生成時に渡された文字列
// ↓ ↓
// java.lang.Exception: テスト
// at Sample.test02(Sample.java:24)
// at Sample.test01(Sample.java:16)
// at Sample.main(Sample.java:10)
// ↑
// スタックトレースです。一番下が最初に呼ばれた
// メソッド、下から3番目が例外が投げられたメソッド
// になります。
// このスタックトレースから、Sampleクラスの
// test02()メソッド(Sample.javaファイルの24行目)
// でExceptionクラスの例外が投げられたことがわかります。
// printStackTrace()メソッドで出力される文字列を
// 取得したい場合には、PrintWriterクラスの
// インスタンスを作り、その参照を
// printStackTrace()メソッドに渡します。
// (ここではPrintWriterクラスとStringWriterクラスを
// 組み合わせて使用します)
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter( stringWriter );
e.printStackTrace( printWriter );
// これで、StringWriterクラスのtoString()メソッドで
// スタックトレースを取得できます。
System.out.println( stringWriter.toString() );
// java.lang.Exception: テスト
// at Sample.test02(Sample.java:24)
// at Sample.test01(Sample.java:16)
// at Sample.main(Sample.java:10)
}
}
}
// Sample.java import java.io.PrintWriter; import java.io.StringWriter; public class Sample { public static void main( String[] args ) { // test01()メソッドを呼び出します。 test01(); } private static void test01() { // test02()メソッドを呼び出します。 test02(); } private static void test02() { try { // 例外を投げます。 throw new Exception( "テスト" ); } catch( Exception e ) { // スタックトレースを出力します。 e.printStackTrace(); // java.lang.Exception: テスト // at Sample.test02(Sample.java:24) // at Sample.test01(Sample.java:16) // at Sample.main(Sample.java:10) // このスタックトレースの内容は以下の通りです。 // 投げられた例外のクラス // ↓ 例外生成時に渡された文字列 // ↓ ↓ // java.lang.Exception: テスト // at Sample.test02(Sample.java:24) // at Sample.test01(Sample.java:16) // at Sample.main(Sample.java:10) // ↑ // スタックトレースです。一番下が最初に呼ばれた // メソッド、下から3番目が例外が投げられたメソッド // になります。 // このスタックトレースから、Sampleクラスの // test02()メソッド(Sample.javaファイルの24行目) // でExceptionクラスの例外が投げられたことがわかります。 // printStackTrace()メソッドで出力される文字列を // 取得したい場合には、PrintWriterクラスの // インスタンスを作り、その参照を // printStackTrace()メソッドに渡します。 // (ここではPrintWriterクラスとStringWriterクラスを // 組み合わせて使用します) StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter( stringWriter ); e.printStackTrace( printWriter ); // これで、StringWriterクラスのtoString()メソッドで // スタックトレースを取得できます。 System.out.println( stringWriter.toString() ); // java.lang.Exception: テスト // at Sample.test02(Sample.java:24) // at Sample.test01(Sample.java:16) // at Sample.main(Sample.java:10) } } }
「みだし」に含まれているページ
「サンプルプログラムとか」に含まれているページ
- %演算子
- /演算子
- 127.0.0.1
- <%! %>
- ArithmeticException
- ArrayIndexOutOfBoundsException
- ArrayList
- ArrayStoreException
- ASCII
- assert
- AssertionError
- BufferedInputStream
- BufferedOutputStream
- BufferedReader
- BufferedWriter
- catch
- Caused by
- CharArrayReader
- CharArrayWriter
- Class
- ClassCastException
- ClassNotFoundException
- clone
- Cloneable
- CloneNotSupportedException
- close
- Connection
- Cookie
- CP932
- CREATE TABLE
- DataInputStream
- DataOutputStream
- DELETE
- DOM
- DTD
- EOF
- EOFException
- Error
- EUC
- EUC-JP
- Exception
- ExceptionInInitializerError
- execute
- File
- FileInputStream
- FileNotFoundException
- FileOutputStream
- FileReader
- FileWriter
- FilterInputStream
- FilterOutputStream
- FilterReader
- FilterWriter
- finally
- GET
- getBytes
- HashMap
- HEAD
- HTTP
- HttpURLConnection
- IANA
- IllegalArgumentException
- IndexOutOfBoundsException
- InputStream
- InputStreamReader
- INSERT
- InterruptedException
- InvocationTargetException
- IOException
- IPアドレス
- ISO-10646-UCS-2
- ISO-2022-JP
- ISO-8859-1
- java.net.URL
- java.sql.Date
- JAVA_HOME
- JDBC
- JDBCドライバ
- JSP宣言
- LineNumberInputStream
- LineNumberReader
- localhost
- Logger
- Node
- NoSuchElementException
- NOT NULL制約
- null
- NullPointerException
- NumberFormatException
- Object
- ObjectInputStream
- ObjectOutputStream
- OutOfMemoryError
- OutputStream
- OutputStreamWriter
- PipedInputStream
- PipedOutputStream
- PipedReader
- PipedWriter
- POST
- PreparedStatement
- printStackTrace
- PrintStream
- PushbackInputStream
- PushbackReader
- Reader
- ResultSet
- RSS
- Rss4j
- Runnable
- Runtime
- RuntimeException
- SELECT
- SequenceInputStream
- Serializable
- Shift_JIS
- sleep
- SQL
- SQLException
- SQLインジェクション
- StackOverflowError
- Statement
- StringBufferInputStream
- StringIndexOutOfBoundsException
- StringReader
- StringWriter
- substring
- synchronizedブロック
- synchronizedメソッド
- TCP
- Thread
- throw
- Throwable
- throws
- Timestamp
- transient
- try
- UCS-2
- UDP
- Unicode
- UPDATE
- URI
- URL
- URLDecoder
- URLEncoder
- US-ASCII
- UTF-8
- volatile
- WHERE
- Windows-31J
- Writer
- Xerces
- XML
- ZIP
- 「-」
- 「~」
- インデックスナンバー
- イントロスペクション
- エイリアス
- エラーハンドラ
- エンコーディング
- エンコード
- カスタムタグライブラリ
- キャッチ
- クエリー
- クッキー
- クライアント
- クライアントサーバーシステム
- コネクション
- コミット
- コンパイルタイムエラー
- サーバー
- シフトJIS
- スタックトレース
- ステートレス
- スレッド
- ソケット
- ソート
- ダウンキャスト
- ダンプ
- テキストファイル
- テーブル
- ディレクトリ
- ディレクトリトラバーサル
- デコード
- デッドロック
- データベース
- トランザクション
- ドメイン名
- ハンドラ
- バイト入力ストリーム
- バイト出力ストリーム
- バイナリーファイル
- バッファアンダーフロー
- バッファアンダーラン
- バッファオーバーフロー
- バッファオーバーラン
- ファイル
- フラッシュ
- ブロックします
- プリペアードステートメント
- プロパティファイル
- ホスト
- ポート番号
- マルチスレッド
- リクエスト
- リクエストパラメーター
- リクエストヘッダー
- リフレクション
- ルート
- レコード
- レスポンス
- レスポンスヘッダー
- ログファイル
- ロック
- ロールバック
- 丸数字
- 主キー
- 例外
- 例外処理
- 列
- 制約
- 半角カタカナ
- 可変長配列
- 同期
- 変数宣言
- 契約による設計
- 投げられる
- 投げる
- 拾う
- 排他
- 改行文字
- 文字コード
- 文字入力ストリーム
- 文字出力ストリーム
- 文字化け
- 標準入出力
- 浅いコピー
- 深いコピー
- 環境変数
- 直列化
- 行
- 配列