// Copyright 2004-present Facebook. All Rights Reserved. package com.facebook.react.bridge; /** * Abstract base for a Runnable that should have any RuntimeExceptions it throws * handled by the {@link com.facebook.react.bridge.NativeModuleCallExceptionHandler} registered if * the app is in dev mode. */ public abstract class GuardedRunnable implements Runnable { private final ReactContext mReactContext; public GuardedRunnable(ReactContext reactContext) { mReactContext = reactContext; } @Override public final void run() { try { runGuarded(); } catch (RuntimeException e) { mReactContext.handleException(e); } } public abstract void runGuarded(); }