質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

1839閲覧

try catch throw文

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2015/11/05 10:43

JavaScript

1 var i = prompt("数字を入れてください","") 2 try{ 3 if(i >= 0){ 4 alert("この数字の二乗は" + i*i + "です"); 5 }else{ 6 throw new Error("負の数または数字ではないです"); 7 } 8 } 9 catch(e){ 10 alert(e); 11 }finally{ 12 console.log("ご利用ありがとうございます"); 13 } 14

このように適当に0以上の数であれば二乗の値を、それ以外であればエラーを出し最後に一言を出力するコードを書きました。
throw、catch、tryのどれかが欠けて機能するコードはあるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

try-catch-finally で必須なのは try-catch までであり、他は必須ではありません。throw も必須ではありません。
基本的ま構文は MDN 等のリファレンスを読んでください。

ActiveXObject() の例外をcatchして静かに実行させる
IE の独自拡張である ActiveXObject() は存在しない servername を引数にとると例外が発生する為、try-catch で静かに実行させます。

JavaScript

1if (typeof XMLHttpRequest !== 'function' && typeof XMLHttpRequest !== 'object') { 2 var xhr; 3 4 for (i = 0, servername = ['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.3.0')], l = servername.length; i < l; i++) { 5 try { 6 xhr = new ActiveXObject(servername[i]); 7 break; 8 } 9 catch (error) {} 10 } 11}

投稿2015/11/05 13:49

編集2015/11/05 14:23
think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/11/05 14:06

throwなしの例外を投げるコードをできるだけわかりやすいコードで書いていただけませんか?
think49

2015/11/05 14:30 編集

親コメントに追記しました。 基本的に try 節で throw は使いません。例外の発生条件は決まっている為、例外を発生させずに処理を分岐させることが可能な為です。 try-catch を使うのは例外の発生条件がわかっていながら例外を回避する事が出来ない場合ですね。
退会済みユーザー

退会済みユーザー

2015/11/06 01:39

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問