aboutsummaryrefslogtreecommitdiffstats
path: root/src/Scope.js
diff options
context:
space:
mode:
authorMisko Hevery2010-03-30 15:39:51 -0700
committerMisko Hevery2010-03-30 15:39:51 -0700
commitb5b8f63e1ebc75d09c6faf8dbad6497880deed47 (patch)
tree4a45ae5596a7d12d0ff532b1c105ae1cb07ec376 /src/Scope.js
parenta7d62dcb5533ceb9a7ae47ee27e2054400a0196b (diff)
downloadangular.js-b5b8f63e1ebc75d09c6faf8dbad6497880deed47.tar.bz2
more tests passing
Diffstat (limited to 'src/Scope.js')
-rw-r--r--src/Scope.js15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/Scope.js b/src/Scope.js
index dbb6c4aa..42e7d5e5 100644
--- a/src/Scope.js
+++ b/src/Scope.js
@@ -77,14 +77,11 @@ function isRenderableElement(element) {
}
function rethrow(e) { throw e; }
-function errorHandlerFor(element) {
+function errorHandlerFor(element, error) {
while (!isRenderableElement(element)) {
element = element.parent() || jqLite(document.body);
}
- return function(error) {
- element.attr('ng-error', angular.toJson(error));
- element.addClass('ng-exception');
- };
+ elementError(element, 'ng-exception', isDefined(error) ? toJson(error) : error);
}
function createScope(parent, Class) {
@@ -125,17 +122,13 @@ function createScope(parent, Class) {
$tryEval: function (expression, exceptionHandler) {
try {
- var value = expressionCompile(expression).apply(instance, slice.call(arguments, 2, arguments.length));
- if (exceptionHandler) {
- errorHandlerFor(exceptionHandler)();
- }
- return value;
+ return expressionCompile(expression).apply(instance, slice.call(arguments, 2, arguments.length));
} catch (e) {
error(e);
if (isFunction(exceptionHandler)) {
exceptionHandler(e);
} else if (exceptionHandler) {
- errorHandlerFor(exceptionHandler)(e);
+ errorHandlerFor(exceptionHandler, e);
}
}
},