• ベストアンサー

スクリプトエラーの処理をalertにしたい

http://www.e-net.or.jp/user/yosshi/calcu.html 例えばこの電卓はめちゃくちゃな式を入れて計算させる(=Answerを押下する)と IE6からスクリプトエラーになってしまいますが、 不正な式は一律に alertで「式が不正です」と処理することはできますでしょうか。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • masatosh
  • ベストアンサー率50% (1/2)
回答No.1

try catch構文というのがあります。 try{  ~通常処理~ } catch{ ~例外エラー時の処理~ } 例外的なエラーがあるとcatch処理を行います。 書き方が合ってるかは忘れましたが Javascript 例外処理 で検索すれば出てくると思いますよ ただし古いバージョンのIE(IE5.0以下だったと思う)を対象としている場合は注意が必要です。この場合例外処理使ってるだけでスクリプトエラーになります。

litton101
質問者

お礼

## 夕方一回お礼を書き込んだつもりでしたが反映されていないのでもう一度。 masatodhさん、レスありがとうございます。 ご教示のキーワードでいくつも情報がみつかりました。 少し勉強してみます。まずは御礼もうしあげます。

litton101
質問者

補足

夕方からいろいろ検討してみたのですが、 追加でもう一つよろしいでしょうか>>識者の皆様 try catch 構文は、各関数ごとに埋めてあげたらよいでしょうか。 例示したjavascriptには、 function conv16()とか function conv8()とか function calc(ch)とか いろんな関数があって、それぞれに if文、return文などがぶら下がってますよね。 関数ごとに(■部分が元スクリプトです)、 try{ ■ function conv16(ans) ■ { ■ var rem ■ if (ans == 0) { ■ return "0x" ■ } ■ else { ■ rem = ans % 16 ■ return conv16(Math.floor(ans/16)) + hexstring.substring(rem, rem+1) ■ } ■ } } catch{ alert( "式が不正です。" ); } などと、これを関数の数だけ指定すればよいでしょうか?? それから、最初に引用したURLはコピーを掲載しているもので、 元ソース(オリジナル)はこっちの方でした。訂正してお詫びします。 http://aoki2.si.gunma-u.ac.jp/JavaScript/JavaScriptCalculator.html