mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-09 22:43:10 +08:00
Summary: Like GuardedAsyncTask, et al, but for Runnables. Reviewed By: achen1 Differential Revision: D4537287 fbshipit-source-id: 8ae60c7007843c0b7d8e5c3835d0847921fb3db5
29 lines
703 B
Java
29 lines
703 B
Java
// 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();
|
|
}
|