0
我有這樣有沒有辦法在Dart中捕捉JavaScript異常?
<polymer-element name="app-element">
<template>
<core-icon icon="{{icon}}"></core-icon>
</template>
<script ...>
</polymer-element>
@CustomTag('app-element')
class AppElement extends PolymerElement {
AppElement.created() : super.created();
@observable
String icon = 'menu';
clickHandler(e) {
icon = null;
}
}
這導致了這個異常
Exception caught during observer callback: TypeError: Cannot read property 'split' of null
at core-icon.Polymer.updateAlt (http://localhost:63342/core-elements/packages/core_elements/src/core-icon/core-icon.html:188:50)
at core-icon.Polymer.updateIcon (http://localhost:63342/core-elements/packages/core_elements/src/core-icon/core-icon.html:147:14)
at core-icon.g.invokeMethod (http://localhost:63342/core-elements/packages/polymer/src/js/polymer/polymer.js:13:25932)
at core-icon.g.notifyPropertyChanges (http://localhost:63342/core-elements/packages/polymer/src/js/polymer/polymer.js:13:24037)
at Object.x.report_ (http://localhost:63342/core-elements/packages/polymer/src/js/polymer/polymer.js:12:18274)
at Object.S.check_ (http://localhost:63342/core-elements/packages/polymer/src/js/polymer/polymer.js:12:22612)
at c (http://localhost:63342/core-elements/packages/polymer/src/js/polymer/polymer.js:12:12181) polymer.concat.js:4861x.report_ polymer.concat.js:4861S.check_ polymer.concat.js:5264c
在我看來這是一個<core-icon>
元素是,但<core-icon>
,我要創建一個問題,但我的問題是無論如何:
有沒有辦法在Dart中捕捉到這樣的JavaScript異常?
我當然試圖用try/catch
或window.onError.listen((e)...);
包裝行icon = null;
沒有成功,雖然。
你必須嘗試從通話的開始/ catch語句。這就是爲什麼try/catch圍繞'icon = null'沒有幫助。 爲什麼不使用:' '。我不認爲這是一個錯誤,爲什麼你想圖標爲空? –
Robert
2014-11-06 12:13:59
目前還不清楚你通話的開始是什麼意思。我可以在綁定或代碼中檢查'null',但我仍然認爲'icon'變成'null'時不應該拋出'core-icon'。我並沒有故意將它設置爲'null',但是我偶然發現了這個問題,因爲在某些情況下,'icon'模型中的模型或字段必然會變爲'null'。上面的代碼被簡化爲可以重現問題的小例子。 – 2014-11-06 12:19:10
也許有一種方法可以註冊一個允許處理這種異常的全局錯誤處理程序? – 2014-11-06 12:22:54