safeWithContext<T> static method

T? safeWithContext<T>(
  1. T operation(), {
  2. required String component,
  3. required String operationName,
  4. Map<String, dynamic>? additionalContext,
  5. T? fallback,
})

Safe execution with enhanced error context for debugging

Implementation

static T? safeWithContext<T>(
  T Function() operation, {
  required String component,
  required String operationName,
  Map<String, dynamic>? additionalContext,
  T? fallback,
}) {
  try {
    ObslyLogger.verbose('🛡️ Executing $component.$operationName');
    final result = operation();
    ObslyLogger.verbose('✅ $component.$operationName completed successfully');
    return result;
  } catch (e, stack) {
    ObslyLogger.errorWithContext(
      component,
      operationName,
      e.toString(),
      stack,
      context: additionalContext ?? {},
    );
    return fallback;
  }
}