クラス ThrowUtil
java.lang.Object
org.opengion.fukurou.system.ThrowUtil
ThrowUtil.java は、共通的に使用される Throwable,Exception関連メソッドを集約した、クラスです。
StringUtil にあったメソッドを、こちらに移動させました。
- 変更履歴:
- 6.4.2.0 (2016/01/29) 新規作成, 6.4.3.2 (2016/02/19) 全面書き換え
- 機能分類
- ユーティリティ
- 導入されたバージョン:
- JDK8.0,
-
フィールドの概要
フィールド -
メソッドの概要
修飾子とタイプメソッド説明static String
ogStackTrace
(String msg, Throwable th) Throwable の printStackTrace() 結果の内、opengion に関する箇所だけを文字列に変換して返します。static String
Throwable の printStackTrace() 結果の内、opengion に関する箇所だけを文字列に変換して返します。static String
ogThrowMsg
(String msg) 発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列を返します。static String
ogThrowMsg
(String msg, Throwable th) 発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列を返します。static StackTraceElement[]
selectElement
(Throwable th, int minCnt) Throwable の getStackTrace() 結果の内、opengion に関する箇所だけのStackTraceElement配列を選別して返します。
-
フィールド詳細
-
MIN_STACK_SIZE
スタックトレースする行数 3- 関連項目:
-
-
メソッドの詳細
-
ogStackTrace
Throwable の printStackTrace() 結果の内、opengion に関する箇所だけを文字列に変換して返します。- パラメータ:
th
- printStackTraceすべき元のThrowableオブジェクト- 戻り値:
- Throwableの詳細メッセージ( th.printStackTrace() )
- 変更履歴:
- 6.4.2.0 (2016/01/29) StringUtil にあったメソッドを移動。, 6.4.2.0 (2016/01/29) すべてのスタックトレースを行っていたが、絞り込みます。
- このメソッドは、nullを返しません
-
ogStackTrace
Throwable の printStackTrace() 結果の内、opengion に関する箇所だけを文字列に変換して返します。 printStackTrace() すると、膨大なメッセージが表示されるため、その中の、"org.opengion" を 含む箇所だけを、抜粋します。 また、同じ内容のエラーも除外します。 先頭から、MIN_STACK_SIZE 行は、元のままのメッセージを出力します。 Throwable#getCause() で、再帰的に原因をさかのぼります。- パラメータ:
msg
- 合成したいメッセージth
- 元のThrowableオブジェクト- 戻り値:
- Throwableの詳細メッセージ( StackTraceElement の抜粋 )
- 変更履歴:
- 5.7.2.0 (2014/01/10) 新規作成, 6.4.2.0 (2016/01/29) StringUtil にあったメソッドを移動し、msg 引数を追加。, 6.4.3.2 (2016/02/19) (通常try-with-resources文によって)抑制された例外も出力します。, 6.5.0.1 (2016/10/21) メッセージに、BuildNumber.ENGINE_INFO を含める。, 6.9.0.1 (2018/02/05) causeの対応が中途半端だったので、修正します。, 6.9.2.1 (2018/03/12) 最小件数のbreak判定の方法を見直します。, 7.0.6.4 (2019/11/29) Throwable オブジェクトの重複を取り除きます。
- このメソッドは、nullを返しません
-
ogThrowMsg
発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列を返します。 通常、System.out.println() で済ましていたエラーメッセージに対して、 エラー発生場所を特定する為の情報を付与したメッセージを作成します。 発生場所の行番号は、このメソッド(実施は、オーバーロード先)で new Throwable して、取得します。 呼ぶ場所で、new Throwable() する代わりの簡易目祖度になります。- パラメータ:
msg
- 合成したいメッセージ- 戻り値:
- 発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列
- 変更履歴:
- 6.4.2.0 (2016/01/29) 新規作成。
- このメソッドは、nullを返しません
-
ogThrowMsg
発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列を返します。 通常、System.out.println() で済ましていたエラーメッセージに対して、 エラー発生場所を特定する為の情報を付与したメッセージを作成します。 行番号は、引数のThrowableの最初の情報のみ使用する為、通常は、このメソッドを 呼ぶ場所で、new Throwable() します。 発生クラスは、org.opengion か、org.apache.jsp.jsp を含む3行のみの簡易メッセージとします。- パラメータ:
msg
- 合成したいメッセージth
- 元のThrowableオブジェクト- 戻り値:
- 発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列
- 変更履歴:
- 6.3.6.1 (2015/08/28) 新規作成, 6.3.6.1 (2015/08/28) メッセージに、th.getLocalizedMessage() を含める。, 6.3.9.0 (2015/11/06) thのnullチェックを先に行う。, 6.4.2.0 (2016/01/29) StringUtil にあったメソッドを移動するとともに、メソッド名を、ogErrMsg → ogThrowMsg に変更。, 6.5.0.1 (2016/10/21) メッセージに、BuildNumber.ENGINE_INFO を含める。, 6.9.0.1 (2018/02/05) causeの対応が中途半端だったので、修正します。, 6.9.2.1 (2018/03/12) 最小件数のbreak判定の方法を見直します。, 7.0.6.4 (2019/11/29) Throwable オブジェクトの重複を取り除きます。
- このメソッドは、nullを返しません
-
selectElement
Throwable の getStackTrace() 結果の内、opengion に関する箇所だけのStackTraceElement配列を選別して返します。 通常、スタックトレース情報は、膨大なメッセージが含まれるため、その中の、org.opengion か、org.apache.jsp.jsp を 含む箇所だけを、抜粋します。 ただし、ThrowUtilクラス(このクラス)内で、スタックトレースを new しているため、このクラスで発生した スタックトレースは、含まないようにしています。このクラスからエラーが発生しないことを望みます。 処理は、先頭から、minCnt件数までは、そのまま残し、それ以降は、関連するトレース情報のみ残します。- パラメータ:
th
- 元のThrowableオブジェクト(!= null 保障済み)minCnt
- StackTraceElementを登録する最小件数- 戻り値:
- 選別されたStackTraceElement配列
- 関連項目:
- 変更履歴:
- 6.9.2.1 (2018/03/12) 選別だけを別に用意します。, 7.0.6.4 (2019/11/29) Throwable オブジェクトの重複を取り除きます。
- このメソッドは、nullを返しません
-