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

# クラス ThrowUtil

java.lang.Object
org.opengion.fukurou.system.ThrowUtil

public final class ThrowUtil extends Object
ThrowUtil.java は、共通的に使用される Throwable,Exception関連メソッドを集約した、クラスです。 StringUtil にあったメソッドを、こちらに移動させました。

変更履歴:
  6.4.2.0 (2016/01/29) 新規作成, 6.4.3.2 (2016/02/19) 全面書き換え
機能分類
  ユーティリティ
導入されたバージョン:
  JDK8.0,

- ## フィールドの概要

  フィールド
  修飾子とタイプ
  フィールド
  説明
  `static final int`
  `MIN_STACK_SIZE`
  スタックトレースする行数 3

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `static String`
  `ogStackTrace(String msg, Throwable th)`
  Throwable の printStackTrace() 結果の内、opengion に関する箇所だけを文字列に変換して返します。
  `static String`
  `ogStackTrace(Throwable th)`
  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配列を選別して返します。

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## フィールド詳細

  - ### MIN_STACK_SIZE

    public static final int MIN_STACK_SIZE
    スタックトレースする行数 3
    関連項目:
      - 定数フィールド値

- ## メソッドの詳細

  - ### ogStackTrace

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

  - ### ogThrowMsg

    public static String ogThrowMsg(String msg, 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 StackTraceElement[] selectElement(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を返しません