Files
react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java
T
Andres Suarez 722feeb02b Tidy up license headers [1/n]
Summary: Changelog: [General] [Fixed] - License header cleanup

Reviewed By: yungsters

Differential Revision: D17952695

fbshipit-source-id: 81aa607612ba1357ef7814ef20371335151afe7e
2019-10-16 10:06:33 -07:00

39 lines
1013 B
Java

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
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 NativeModuleCallExceptionHandler mExceptionHandler;
@Deprecated
public GuardedRunnable(ReactContext reactContext) {
this(reactContext.getExceptionHandler());
}
public GuardedRunnable(NativeModuleCallExceptionHandler exceptionHandler) {
mExceptionHandler = exceptionHandler;
}
@Override
public final void run() {
try {
runGuarded();
} catch (RuntimeException e) {
mExceptionHandler.handleException(e);
}
}
public abstract void runGuarded();
}