Рассмотрим вы хотите отправить все ошибки HTTP модальным вы можете переопределить исключения с помощью $provide decorator "$exceptionHandler"
:
$provide.decorator("$exceptionHandler", function($delegate, $injector) {
return function(exception, cause) {
/* here you can do what u want */
});
Чтобы отправить в машинный код или даже Crashlytics (сервер отчетов) использовать Кордова мост:
app.config(function($provide) {
$provide.decorator("$exceptionHandler", function($delegate, $injector) {
return function(exception, cause) {
if (false) { //(appState !== "...") { // We want to only send the error in this case
$delegate(exception, cause);
} else {
//appState == null;
var MyCordovaService = $injector.get("MyCordovaService");
console.debug({reason: exception, message: exception.message, stack: exception.stack});
var data = {
message: "Exception: " + exception.message,
stack: exception.stack || "none"
};
MyCordovaService.reportClientError(data).then(function(data) {
console.debug('reportClientError success', data);
}, function(error) {
console.debug('reportClientError fail!', error);
});
//}
// Call The original Angular Exception Handler
$delegate(exception, cause);
}
};
});
});
Д Эмо в Codepan
Надеется, что это поможет,
Я не мог понять многое из вашего кода. Было бы очень полезно, если вы можете опубликовать сообщение об ошибке демонстрационной ошибки на странице скрипта. –
добавлено демо с предупреждением –
Спасибо. Как показать сообщение об ошибке пользователю интуитивно понятным способом, аналогичным тому, что предлагает bootstrap. –