runCatching<R> method
FutureOr<R?>
runCatching<R>(
- FutureOr<
R> block(), { - void onSuccess(
- R data
- void onFailure(
- Object e,
- StackTrace s
inherited
Implementation
FutureOr<R?> runCatching<R>(
FutureOr<R> Function() block, {
void Function(R data)? onSuccess,
void Function(Object e, StackTrace s)? onFailure,
}) async {
try {
final data = block();
if (data is Future<R>) {
await data.then((_) => onSuccess?.call(_));
} else {
onSuccess?.call(data);
}
return data;
} catch (e, s) {
onFailure?.call(e, s);
return null;
}
}