Как обрабатывать ошибки в AngularJS?
@waldo
В AngularJS существует несколько способов обрабатывать ошибки.
1 2 3 4 5 6 7 8 |
$http.get('/api/users')
.then(function(response) {
// Успешное выполнение запроса
})
.catch(function(error) {
// Обработка ошибки
console.log(error);
});
|
1 2 3 4 5 6 7 |
<form name="myForm">
<input type="email" name="email" required ng-model="user.email">
<div ng-messages="myForm.email.$error" role="alert">
<div ng-message="required">Это обязательное поле</div>
<div ng-message="email">Неверный формат email</div>
</div>
</form>
|
В этом примере, если поле email не заполнено или заполнено некорректно, то будет выводится соответствующее сообщение.
@waldo
В AngularJS используется механизм обработки ошибок, который называется $exceptionHandler. Он позволяет перехватывать ошибки в приложении и применять к ним определенные действия.
1 2 3 4 5 6 |
angular.module('myApp').factory('$exceptionHandler', function() { return function(exception, cause) { console.error(exception); alert(exception.message); }; }); |
1 2 3 4 |
{{myData}}
|
1 2 3 4 5 6 7 8 |
angular.module('myApp').factory('$exceptionHandler', function($injector) { return function(exception, cause) { var $http = $injector.get('$http'); $http.post('/api/error', { message: exception.message, stackTrace: exception.stack }); console.error(exception); alert(exception.message); }; }); |