throwOut<RT extends Object, ET extends Exception> static method
Success<RT, ET>
throwOut<RT extends Object, ET extends Exception>(
- Danger<
RT, Exception> danger, - Error error, [
- Log? log,
- Map<
String, dynamic> monitorOnError = const {},
override
RT...return type
ET...exception type
BET...base exception type
exception を throw out させる syntax sugar.
return type が Success で固定の場合などの時に利用することがある.
Implementation
static Success<RT, ET> throwOut<
RT extends Object
,ET extends Exception
>(
Danger<RT, Exception> danger,
Error error,
[
Log? log,
Map<String, dynamic> monitorOnError = const {},
]
) {
switch (danger) {
case Success():
return Success(danger.wrapped, log);
case Failure():
if (log != null) {
log.monitor(monitorOnError);
log.monitor({'exception': danger.wrapped});
};
Result.panic(error, log);
}
}