Display JS exceptions and stacks in a red box.

Reviewed By: javache

Differential Revision: D3429031

fbshipit-source-id: a7ffd71151d8d78ccf8f0cc45807762b601cd112
This commit is contained in:
Marc Horowitz 2016-06-30 19:38:53 -07:00 коммит произвёл Facebook Github Bot
Родитель 2b88482701
Коммит d1d9045eb4
4 изменённых файлов: 14 добавлений и 0 удалений

Просмотреть файл

@ -55,6 +55,11 @@ RCT_EXTERN NSString *const RCTErrorDomain;
*/ */
RCT_EXTERN NSString *const RCTJSStackTraceKey; RCT_EXTERN NSString *const RCTJSStackTraceKey;
/**
* Raw JS Stack trace string provided as part of an NSError's userInfo
*/
RCT_EXTERN NSString *const RCTJSRawStackTraceKey;
/** /**
* Name of fatal exceptions generated by RCTFatal * Name of fatal exceptions generated by RCTFatal
*/ */

Просмотреть файл

@ -12,6 +12,7 @@
NSString *const RCTErrorDomain = @"RCTErrorDomain"; NSString *const RCTErrorDomain = @"RCTErrorDomain";
NSString *const RCTJSStackTraceKey = @"RCTJSStackTraceKey"; NSString *const RCTJSStackTraceKey = @"RCTJSStackTraceKey";
NSString *const RCTJSRawStackTraceKey = @"RCTJSRawStackTraceKey";
NSString *const RCTFatalExceptionName = @"RCTFatalException"; NSString *const RCTFatalExceptionName = @"RCTFatalException";
static NSString *const RCTAssertFunctionStack = @"RCTAssertFunctionStack"; static NSString *const RCTAssertFunctionStack = @"RCTAssertFunctionStack";

Просмотреть файл

@ -17,6 +17,7 @@
- (void)showError:(NSError *)error; - (void)showError:(NSError *)error;
- (void)showErrorMessage:(NSString *)message; - (void)showErrorMessage:(NSString *)message;
- (void)showErrorMessage:(NSString *)message withDetails:(NSString *)details; - (void)showErrorMessage:(NSString *)message withDetails:(NSString *)details;
- (void)showErrorMessage:(NSString *)message withRawStack:(NSString *)rawStack;
- (void)showErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack; - (void)showErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack;
- (void)updateErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack; - (void)updateErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack;

Просмотреть файл

@ -339,6 +339,13 @@ RCT_EXPORT_MODULE()
[self showErrorMessage:combinedMessage]; [self showErrorMessage:combinedMessage];
} }
- (void)showErrorMessage:(NSString *)message withRawStack:(NSString *)rawStack
{
// TODO #11638796: convert rawStack into something useful
message = [NSString stringWithFormat:@"%@\n\n%@", message, rawStack];
[self showErrorMessage:message withStack:nil isUpdate:NO];
}
- (void)showErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack - (void)showErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack
{ {
[self showErrorMessage:message withStack:stack isUpdate:NO]; [self showErrorMessage:message withStack:stack isUpdate:NO];