TryCatch
所謂例外処理です
が、特に特別な処理を行うつもりはありません
あくまで想定外の例外に対する備えなので、発生した時点でおしまいです
イベントドリブンではイベントの入り口に片っ端から仕掛けて、ありのままのエラーを表示すれば良いと思います
逆にメソッドなんかに仕掛けたり、例外先でリカバリなんてもことにすると軽く地獄を見られます
汎用的なエラー表示メソッドを作成します
./Src/cm.ts
namespace cm { ... /* * エラー表示 */ export function showErrMsg(e: any) { let msg: any; if (e.stack) { msg += e.stack + "\n"; } if (e.status) { msg += e.status + ":" + e.statusText + "\n"; } else if (e.statusText) { msg += e.statusText + "\n"; } if (e.responseText) { msg += e.responseText + "\n"; } if (e.message) { msg += e.message + "\n"; } if (!msg) { msg = e; } alert(msg); } ...
とりあえず身の回りにあるエラー関連のメンバーはこんな感じでした
取れる情報は全て表示を是としています
$(document).on("pagecontainershow", function (event: Event, ui: any) { try { ... } catch (e) { cm.showErrMsg(e); } }); $(document).on("click", "#popupMenu > li > .ui-btn", function (event: Event) { try { $(this).blur(); let cmd = $(this).attr("cmd"); ... } catch (e) { cm.showErrMsg(e); } });
こんな感じのワンパターンを一心不乱に追加し続けます
ボタン押下等には$(this).blur()を追加し、二度押し防止します
フォーカスが外れてしまいますが気にしません
まあ、この辺はお好みで