Угловой и часовой / браузер вызывает сбой приложения - PullRequest
0 голосов
/ 22 февраля 2019

Я использую Angular: "@angular/core": "7.2.4", и sentry: "@sentry/browser": "4.6.3",.

С помощью следующего кода мое приложение правильно выдает ошибку:

// import * as Sentry from '@sentry/browser';
//
// Sentry.init({
//   dsn: 'mydsn',
//   debug: true
// });

@Injectable()
export class SentryErrorHandler implements ErrorHandler {
  constructor() {}
  handleError(error) {
    throw error;
    // Sentry.captureException(error.originalError || error);
    // throw error;
  }
}

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    // imports
  ],
  providers: [
    {provide: ErrorHandler, useClass: SentryErrorHandler},
  ],
  bootstrap: [AppComponent]
})

Однако, как только яраскомментируйте часовой пояс, мое приложение просто зависает при ошибке, например:

import * as Sentry from '@sentry/browser';

Sentry.init({
    dsn: 'mydsn',
    debug: true
});

@Injectable()
export class SentryErrorHandler implements ErrorHandler {
  constructor() {}
  handleError(error) {
    Sentry.captureException(error.originalError || error);
    throw error;
  }
}

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    // imports
  ],
  providers: [
    // {provide: ErrorHandler, useClass: SentryErrorHandler},
  ],
  bootstrap: [AppComponent]
})

У меня установлено значение отладки true, и консоль возвращает:

Sentry Logger [Log]: Integration installed: Dedupe
logger.js:30 Sentry Logger [Log]: Integration installed: InboundFilters
logger.js:30 Sentry Logger [Log]: Integration installed: FunctionToString
logger.js:30 Sentry Logger [Log]: Integration installed: ExtraErrorData
logger.js:30 Sentry Logger [Log]: Integration installed: TryCatch
logger.js:30 Sentry Logger [Log]: Integration installed: Breadcrumbs
logger.js:30 Sentry Logger [Log]: Integration installed: GlobalHandlers
logger.js:30 Sentry Logger [Log]: Integration installed: LinkedErrors
logger.js:30 Sentry Logger [Log]: Integration installed: UserAgent

В диспетчере задач в Google Chrome скачки ЦПи затем в конечном итоге страница падает.

Ошибка, которую я пытаюсь проверить, заключается в размещении произвольной console.log(t);, где t - неопределенная переменная.

Я запускаю это с localhost иМожно подтвердить, что я разрешил весь трафик в настройках часового проекта, а также подтвердить, что DSN предназначен для правильной учетной записи.

...