Как я могу сделать приложение непригодным к исключениям.ионная обработка исключений 2 без замораживания
В настоящее время при каждом возникновении исключения пользовательский интерфейс замерзает, и я должен перезапустить приложение.
Спасибо.
Как я могу сделать приложение непригодным к исключениям.ионная обработка исключений 2 без замораживания
В настоящее время при каждом возникновении исключения пользовательский интерфейс замерзает, и я должен перезапустить приложение.
Спасибо.
Вы можете использовать Angular 2 ExceptionHandler.
The default implementation of ExceptionHandler prints error messages to the Console. To intercept error handling, write a custom exception handler that replaces this default as appropriate for your app.
Таким образом, вы можете создать свою собственную реализацию этого класса
class MyExceptionHandler implements ExceptionHandler {
call(error, stackTrace = null, reason = null) {
// do something with the exception
}
}
И затем, включите его в верхнем наиболее компонент (компонент App), как это:
import {ExceptionHandler,provide} from '@angular2/core';
import {MyExceptionHandler} from './folder/file-name';
@Component({
providers: [provide(ExceptionHandler, {useClass: MyExceptionHandler})]
})
export class MyApp{...}
ОБНОВЛЕНИЕ
От Ionic2 RC, для того чтобы заменить ExceptionHandler
для собственной пользовательской реализации, мы урожденная включить его в NgModule
, как это:
@NgModule({
providers: [{provide: ErrorHandler, useClass: MyExceptionHandler}]
})
class MyModule {}
UPDATE: Последние angular2, есть ErrorHandler
не ExceptionHandler
в угловом ядро, которое теперь @angular/core
не @angular2/core
.
import { ErrorHandler } from '@angular/core';
export class MyExceptionHandler implements ErrorHandler {
handleError(error) {
// do something with the error
}
}
Ссылка на новый угловой класс: https://angular.io/docs/ts/latest/api/core/index/ErrorHandler-class.html
Спасибо, я пытался, что и у меня есть ошибка 'ошибка Машинопись: приложение/app.ts (118,7): TS2420 Error: Class ' MyExceptionHandler 'неправильно реализует интерфейс «ExceptionHandler». Свойство «_logger» отсутствует в типе «MyExceptionHandler». «Я пробовал разные вещи после, но он по-прежнему ошибочен.' Roperty '_logger' является закрытым в типе «ExceptionHandler», но не в типе «MyExceptionHandler» или 'TypeScript error: app/app.ts (118,7): Ошибка TS2420: класс «MyExceptionHandler» неправильно реализует интерфейс «ExceptionHandler». Типы имеют отдельные декларации частной собственности «_logger» – chikincrow
Если я не реализую интерфейс, во время выполнения появляется ошибка 'Uncaught TypeError: Невозможно прочитать свойство 'call' of undefined' – chikincrow
Извините, что это происходит в мое приложение тоже. Кажется, это связано с ошибкой на Angular2 (есть несколько проблем, таких как [этот] (https://github.com/angular/angular/issues/6565), [этот] (https://github.com/ угловой/угловой/проблемы/8993) и [этот] (https://github.com/angular/angular/issues/6865). Вы пробовали использовать [этот обходной путь] (https://github.com/angular/ angel/issues/6865 # issuecomment-179889736)? В этом комментарии и в следующем, @tbragaf поделился обходным решением и, похоже, работает правильно в моем приложении. – sebaferreras