パッケージ org.opengion.fukurou.system

## クラス ThrowUtil

- java.lang.Object
- - org.opengion.fukurou.system.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`

- - ### フィールドの詳細

    - #### MIN_STACK_SIZE

          public static final int MIN_STACK_SIZE

      関連項目:
        定数フィールド値

  - ### メソッドの詳細

    - #### 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 を含む３行のみの簡易メッセージとします。
      パラメータ:
        `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を返しません