runCaching<T> function

T? runCaching<T>(
  1. T action(), {
  2. T? onError(
    1. dynamic error,
    2. StackTrace stacktrace
    )?,
})

Run given action in a try-catch block and calls onError on exception.

Implementation

T? runCaching<T>(T Function() action,
    {T? Function(dynamic error, StackTrace stacktrace)? onError}) {
  try {
    return action.call();
  } catch (error, stacktrace) {
    onError?.call(error, stacktrace);
    return null;
  }
}