クラス ThrowUtil


  • public final class ThrowUtil
    extends java.lang.Object
    ThrowUtil.java は、共通的に使用される Throwable,Exception関連メソッドを集約した、クラスです。 StringUtil にあったメソッドを、こちらに移動させました。
    機能分類
    ユーティリティ
    変更履歴:
    6.4.2.0 (2016/01/29) 新規作成, 6.4.3.2 (2016/02/19) 全面書き換え
    バージョン
    6.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK8.0,
    • フィールドの概要

      フィールド 
      修飾子とタイプ フィールド 説明
      static int MIN_STACK_SIZE  
    • メソッドの概要

      すべてのメソッド staticメソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      static java.lang.String ogStackTrace​(java.lang.String msg, java.lang.Throwable th)
      Throwable の printStackTrace() 結果の内、opengion に関する箇所だけを文字列に変換して返します。
      static java.lang.String ogStackTrace​(java.lang.Throwable th)
      Throwable の printStackTrace() 結果の内、opengion に関する箇所だけを文字列に変換して返します。
      static java.lang.String ogThrowMsg​(java.lang.String msg)
      発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列を返します。
      static java.lang.String ogThrowMsg​(java.lang.String msg, java.lang.Throwable th)
      発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列を返します。
      static java.lang.StackTraceElement[] selectElement​(java.lang.Throwable th, int minCnt)
      Throwable の getStackTrace() 結果の内、opengion に関する箇所だけのStackTraceElement配列を選別して返します。
      • クラスから継承されたメソッド java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • メソッドの詳細

      • ogStackTrace

        public static java.lang.String ogStackTrace​(java.lang.Throwable th)
        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

        public static java.lang.String ogStackTrace​(java.lang.String msg,
                                                    java.lang.Throwable th)
        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

        public static java.lang.String ogThrowMsg​(java.lang.String msg)
        発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列を返します。 通常、System.out.println() で済ましていたエラーメッセージに対して、 エラー発生場所を特定する為の情報を付与したメッセージを作成します。 発生場所の行番号は、このメソッド(実施は、オーバーロード先)で new Throwable して、取得します。 呼ぶ場所で、new Throwable() する代わりの簡易目祖度になります。
        パラメータ:
        msg - 合成したいメッセージ
        戻り値:
        発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列
        変更履歴:
        6.4.2.0 (2016/01/29) 新規作成。
        このメソッドは、nullを返しません
      • ogThrowMsg

        public static java.lang.String ogThrowMsg​(java.lang.String msg,
                                                  java.lang.Throwable th)
        発生元を示すクラス、メソッド、行番号とともに、メッセージを合成した文字列を返します。 通常、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

        public static java.lang.StackTraceElement[] selectElement​(java.lang.Throwable th,
                                                                  int minCnt)
        Throwable の getStackTrace() 結果の内、opengion に関する箇所だけのStackTraceElement配列を選別して返します。 通常、スタックトレース情報は、膨大なメッセージが含まれるため、その中の、org.opengion か、org.apache.jsp.jsp を 含む箇所だけを、抜粋します。 ただし、ThrowUtilクラス(このクラス)内で、スタックトレースを new しているため、このクラスで発生した スタックトレースは、含まないようにしています。このクラスからエラーが発生しないことを望みます。 処理は、先頭から、minCnt件数までは、そのまま残し、それ以降は、関連するトレース情報のみ残します。
        パラメータ:
        th - 元のThrowableオブジェクト(!= null 保障済み)
        minCnt - StackTraceElementを登録する最小件数
        戻り値:
        選別されたStackTraceElement配列
        関連項目:
        Throwable.getStackTrace()
        変更履歴:
        6.9.2.1 (2018/03/12) 選別だけを別に用意します。, 7.0.6.4 (2019/11/29) Throwable オブジェクトの重複を取り除きます。
        このメソッドは、nullを返しません