fix(exception_handler): log errors via console.error
This is e.g. needed as we use this to test for errors in our examples.
This commit is contained in:
+1
-1
@@ -134,7 +134,7 @@ function _injectorBindings(appComponentType): List<Binding> {
|
||||
function _createVmZone(givenReporter:Function): VmTurnZone {
|
||||
var defaultErrorReporter = (exception, stackTrace) => {
|
||||
var longStackTrace = ListWrapper.join(stackTrace, "\n\n-----async gap-----\n");
|
||||
print(`${exception}\n\n${longStackTrace}`);
|
||||
DOM.logError(`${exception}\n\n${longStackTrace}`);
|
||||
throw exception;
|
||||
};
|
||||
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
import {Injectable} from 'angular2/di';
|
||||
import {isPresent, print} from 'angular2/src/facade/lang';
|
||||
import {ListWrapper, isListLikeIterable} from 'angular2/src/facade/collection';
|
||||
import {DOM} from 'angular2/src/dom/dom_adapter';
|
||||
|
||||
/**
|
||||
* Provides a hook for centralized exception handling.
|
||||
@@ -36,6 +37,6 @@ export class ExceptionHandler {
|
||||
call(error, stackTrace = null, reason = null) {
|
||||
var longStackTrace = isListLikeIterable(stackTrace) ? ListWrapper.join(stackTrace, "\n\n") : stackTrace;
|
||||
var reasonStr = isPresent(reason) ? `\n${reason}` : '';
|
||||
print(`${error}${reasonStr}\nSTACKTRACE:\n${longStackTrace}`);
|
||||
DOM.logError(`${error}${reasonStr}\nSTACKTRACE:\n${longStackTrace}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,6 +100,10 @@ class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||
setRootDomAdapter(new BrowserDomAdapter());
|
||||
}
|
||||
|
||||
logError(error) {
|
||||
window.console.error(error);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, String> get attrToPropMap => const <String, String>{
|
||||
'innerHtml': 'innerHtml',
|
||||
|
||||
@@ -57,6 +57,10 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||
setRootDomAdapter(new BrowserDomAdapter());
|
||||
}
|
||||
|
||||
logError(error) {
|
||||
window.console.error(error);
|
||||
}
|
||||
|
||||
get attrToPropMap() {
|
||||
return _attrToPropMap;
|
||||
}
|
||||
|
||||
+4
@@ -16,6 +16,10 @@ function _abstract() {
|
||||
@ABSTRACT()
|
||||
export class DomAdapter {
|
||||
|
||||
logError(error) {
|
||||
throw _abstract();
|
||||
}
|
||||
|
||||
/**
|
||||
* Maps attribute names to their corresponding property names for cases
|
||||
* where attribute name doesn't match property name.
|
||||
|
||||
@@ -3,12 +3,17 @@ library angular2.dom.htmlAdapter;
|
||||
import 'dom_adapter.dart';
|
||||
import 'package:html/parser.dart' as parser;
|
||||
import 'package:html/dom.dart';
|
||||
import 'dart:io';
|
||||
|
||||
class Html5LibDomAdapter implements DomAdapter {
|
||||
static void makeCurrent() {
|
||||
setRootDomAdapter(new Html5LibDomAdapter());
|
||||
}
|
||||
|
||||
logError(error) {
|
||||
stderr.writeln('${error}');
|
||||
}
|
||||
|
||||
@override
|
||||
final attrToPropMap = const {
|
||||
'innerHtml': 'innerHtml',
|
||||
|
||||
@@ -28,6 +28,10 @@ export class Parse5DomAdapter extends DomAdapter {
|
||||
setRootDomAdapter(new Parse5DomAdapter());
|
||||
}
|
||||
|
||||
logError(error) {
|
||||
console.error(error);
|
||||
}
|
||||
|
||||
get attrToPropMap() {
|
||||
return _attrToPropMap;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user