IT::Programing::Scripting::JavaScript::JavaScriptの例外発生処理 拡充版
http://d.hatena.ne.jp/perushaneko/20070320#1174391102 の続き。
try〜catchのより現実的なサンプルテンプレートです。
このテンプレートはかなり役に立ちそう( ̄ー ̄ニヤリ
結構載ってるときでないと、テンプレートって作れないしあと、備忘録用の栞。
function hogehoge () { try { /* * */ if ( window.opener.document.MOGE ) { //テスト環境 /* * */ } else if ( window.opener.document.OGE ) { //テスト環境 /* * */ } else { // 期待したJavaScriptオブジェクトが無い場合 msg = msg + "想定しているJavaScriptオブジェクト\n\n"; msg = msg + "\tMOGE\n"; msg = msg + "\tHAGE\n"; msg = msg + "\nいずれについても存在しません\n"; throw msg; } /* * */ } catch ( e ) { var msg=""; // throw の場合の処理 if(e.description==undefined){msg = "\n\n---------------------------\n"+e}; err_msg("JavaScriptオブジェクトエラーエラー"+msg, e); } } // rt_screen_proc function err_msg ( add_msg , e) { // ////////////////////////////////////////////////////////////////////////////// // エラーメッセージ組み立て msg = 'error!\n'; msg = msg + 'error message : ' + e.description + '\n'; msg = msg + 'error number : ' + e.number + '\n'; msg = msg + '\n\n' ; msg = msg + add_msg; msg = msg + '\n\n' ; msg = msg + '個別にご契約いただいているお客様は、' + '\n' ; msg = msg + 'HAGE Cop.のサポート窓口まで問合せください。' + '\n' ; msg = msg + ' email : moge@haeg.jp' ; alert( msg ); }
try 〜 catch は呼び出した下位の階層の関数でも有効
throwした場合、eにはthowの引数が直接入っているのでこうしたほうが無難