テストするイベントソースはありませんが、「このエラーに関する詳細情報を入手するにはどうすればよいですか?」という質問に答えるお手伝いをします。
変化する:
source.on.error.add((Event e) => print('error'));
に:
source.on.error.add((e) {
print('error');
});
次に、printのある行にブレークポイントを設定します。これにより、Dartiumでアプリケーションをデバッグするときに、ローカル変数eを検査できます。
また、dart2jsを使用してアプリケーションをJavaScriptにコンパイルし、ChromeのJavaScriptデバッガーを使用してeの詳細を確認することもできます。デバッガーで生成されたJavaScriptで「エラー」を検索して、ブレークポイントを配置する場所を見つけます。
時々役立つもう1つのトリックは、コードを次のように変更することです。
source.on.error.add((int e) => print('error'));
eはintではないため、DartEditorは警告を表示し、eが実際にどのタイプであるかを通知します。次に、そのタイプを使用できます。次に、コマンドキーを押しながらそのタイプをクリックして、そのソースコードを確認します。
私の最善のアドバイスは、ChromeのJavaScriptデバッガーを使用して、そこから問題をデバッグすることです。これは、過去にこの種の問題を切り分けるのに役立ちました。