logger_result library
Classes
- Complete
-
Result もしくは Safety の V に void を指定する代わりに利用するための型.
V が dynamic または Object? を許容できるようにすると 静的型解析が働かず 型解析に関する実行時 error の危険が生じてしまい その場合どこで error が発生したのかわからず追跡が難しい.
-
Danger<
V extends Object, E extends Exception> -
Result との違いは
E
が Object ではなく Exception であること.
成功もしくは失敗の可能性があることを示す型.
V で void を指定したい場合, 代わりに Complete を指定する.
-
Disaster<
V extends Object, EX extends Exception, ER extends Error> -
Risk と Danger の両方を伴うことを表す型.
Suffer もしくは Survive を返す.
V で void を指定したい場合, 代わりに Complete を指定する.
-
Failure<
V extends Object, E extends Exception> - History
-
Uneditable form.
- Log
- LoggerResultInterface
- LoggerResultInterface を implements した class を log として追加できるように.
- LoggerResultMessageSignature
- この class を implements した class が Result.wrapped に設定されたとき LoggerResultMessageSignature.loggerResultMessage の中身が shortHand 表記でも log で表示されるようになる.
- LogPart
-
Panic<
E extends Error> -
Error が発生したことを表す型.
プログラムを停止させる処理に利用する.
Error をそのまま throw しただけでは log の情報が付与されないため Panic に Error を wrap する必要がある. -
Result<
V extends Object> -
Risk<
V extends Object, E extends Error> -
呼び出し側の handling で回避しなければならない error が存在することを示す型.
なので 単純に error を throw する記述があることを示す型ではない.
例えば exception handling で throw out で error を throw する記述をするが その error は この Risk 型で示す対象ではない.
V
で void を指定したい場合, 代わりに Complete を指定する.
error だった場合 throw されるので 返り値は は success のみである.
また このときのE
は error があることを呼び出し側に示すためだけにあるので 表記できればそれで仕事はおわりである.
-
Safety<
V extends Object> -
Danger とは対照的に 必ず 成功した結果を返すことを示す型.
V で void を指定したい場合, 代わりに Complete を指定する.
-
Success<
V extends Object, E extends Exception> -
Suffer<
V extends Object, EX extends Exception, ER extends Error> -
Survive<
V extends Object, EX extends Exception, ER extends Error>
Typedefs
-
FutureComplete
= Future<
Complete> -
FutureDanger<
V extends Object, E extends Exception> = Future< Danger< V, E> > -
FutureDisaster<
V extends Object, EX extends Exception, ER extends Error> = Future< Disaster< V, EX, ER> > -
FutureFailure<
V extends Object, E extends Exception> = Future< Failure< V, E> > -
FutureResult<
V extends Object, EX extends Exception, ER extends Error> = Future< Result< V> > -
FutureSafety<
V extends Object> = Future< Safety< V> > -
FutureSuccess<
V extends Object, E extends Exception> = Future< Success< V, E> >
Exceptions / Errors
- LoggerResultException
- LoggerResultlError
-
LoggerResultlErrorA Result.wrapped is not expected. Can't call Result.asExpected.
LoggerResultlErrorB Result.wrapped is not exception. Can't call Result.asException.
LoggerResultlErrorC Result.wrapped is not error. Can't call Result.asError.
LoggerResultlErrorD never reached proccess.
LoggerResultlErrorE
LoggerResultlErrorF
LoggerResultlErrorG
- LoggerResultlErrorA
- Result.wrapped is not expected. Can't call Result.asExpected.
- LoggerResultlErrorB
- Result.wrapped is not exception. Can't call Result.asException.
- LoggerResultlErrorC
- Result.wrapped is not error. Can't call Result.asError.
- LoggerResultlErrorD
- never reached proccess.