public class hiException extends RuntimeException
IOExceptionなどの無用なチェックが強要されるExceptionをRuntimeExceptionでラップすることにより、チェックの必要を無くします。
void foo(){ // throws Exceptionがない try{ doSomething();// IOExceptionなどを投げる可能性がある。 } catch(Exception _ex){ throw hiU.rap(_ex); // _exがRuntimeExceptionの場合はそのまま // そうでない場合はhiExceptionでラップ } } void boo(){ try{ foo(); } catch(Excepton _ex){ _ex.printStackTrace(_ex);// 例えばIOExceptionをラップしたhiExceptionの場合 // IOException部のスタックトレースが出る } }
ラムダ呼び出しの例外ラッピング関数(hiU.rap(otsu.hiNote.hiU.RunnableEx)
)が投げるのもhiExceptionです。
hiU.rap(()->doSomething()); // ラムダ式が何等かのExceptionを投げた場合、hiExceptionでラップする // list.forEach((_s_)->hiU.rapException(()->doSomething(_s_)));// 例えばRuntimeException以外許さないStream // でも用いることができる。
コンストラクタと説明 |
---|
hiException(Exception exp_)
原因例外を持つラッパー.
|
hiException(String msg_)
単純なRuntimeException,
|
hiException(String msg_,
Exception exp_)
メッセージを付加したラッパーを得る.
|
修飾子とタイプ | メソッドと説明 |
---|---|
String |
getMessage()
例外に付されたメッセージを得る.
|
String |
getMessageNative()
例外に付されたメッセージを得る.
|
StackTraceElement[] |
getStackTrace()
スタック情報を得る.
|
StackTraceElement[] |
getStackTraceNative()
スタック情報を得る.
|
void |
printStackTrace(PrintStream ps_)
例外発生時のスタック階層を表示する
この例外の原因となる例外のスタック階層を表示します。
|
void |
printStackTrace(PrintWriter pw_)
例外発生時のスタック階層を表示する.
|
void |
printStackTraceNative(PrintStream ps_)
RuntimeExceptionのprintStackTrace
本例外の階層も表示し、原因例外はCauseとして表示されます。
|
void |
printStackTraceNative(PrintWriter pw_)
RuntimeExceptionのprintStackTrace
本例外の階層も表示し、原因例外はCauseとして表示されます。
|
static RuntimeException |
rap(Exception exp_)
ExceptionをRuntimeExceptionにラップする.
|
String |
toString()
例外情報を表示する.
|
String |
toStringNative()
例外情報を表示する.
|
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getSuppressed, initCause, printStackTrace, setStackTrace
public hiException(Exception exp_)
exp_
- 原因となった例外public hiException(String msg_)
msg_
- メッセージpublic static final RuntimeException rap(Exception exp_)
引数のExceptionがRuntimeException以外の場合、本クラスのcauseに入れる形でラップします。
引数がRuntimeExceotionの場合はそのまま返します。
hiU.rap(Exception)
と同じです。
exp_
- RuntimeExceptionにしたいExceptionpublic String getMessage()
この例外にメッセージが設定されてない場合原因となる例外のメッセージを得ます。
hiException(String,Exception)
によりメッセージが付加されていると付加されたメッセージがえられます。
getMessage
クラス内 Throwable
public StackTraceElement[] getStackTrace()
この例外の原因となる例外のスタック情報を得ます。本例外の階層は省略されます。
getStackTrace
クラス内 Throwable
public String toString()
この例外にメッセージが設定されてない場合、原因となる例外の文字列表記を得ます。
hiException(String,Exception)
によりメッセージが付加されていると本例外の情報を表示します。
public void printStackTrace(PrintStream ps_)
この例外の原因となる例外のスタック階層を表示します。本例外の階層は省略されます。
printStackTrace
クラス内 Throwable
ps_
- 出力先public void printStackTrace(PrintWriter pw_)
この例外の原因となる例外のスタック階層を表示します。本例外の階層は省略されます。
printStackTrace
クラス内 Throwable
pw_
- 出力先public String getMessageNative()
本例外に付加されたメッセージを得ます。
public StackTraceElement[] getStackTraceNative()
本例外の階層スタック情報を得ます。原因例外のスタック情報はgetCause().getStackTrace()で得られます。
public String toStringNative()
本例外の階層も表示し、原因例外はCauseとして扱われます。
public void printStackTraceNative(PrintStream ps_)
本例外の階層も表示し、原因例外はCauseとして表示されます。
ps_
- 出力先public void printStackTraceNative(PrintWriter pw_)
本例外の階層も表示し、原因例外はCauseとして表示されます。
pw_
- 出力先