T_NAKAの阿房ブログ

アクセスカウンタ

zoom RSS 「例外」について

<<   作成日時 : 2016/01/21 00:01   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

次の話題は「例外」なんですが、実行中に検出されたエラーということらしいです。今回これに対処するための手段 "try" と "expect" について勉強します。 

まず簡単な「例外」の例を示しましょう。
画像

まず最初の例は \(football\) という未定義な関数・コマンドを入力すると、\(Name Error\) が示されました。
次の例は \(4\) までの \(index\) しかないところで、\(5\) 番目の \(index\) を指定したために、\(Index Error\) となります。 
さて、今後示すプログラムのために、「例外処理」を見ていきましょう。
画像

\(float( )\) という予約関数・コマンドは数値を与えると、それを浮動小数点データに変換するのですが、引数が数値でなければ当然「例外」となる訳です。
ここで浮動小数点データを入力してもらう処理を考えると、タイプミスなどを起こす可能性があるんですが、それが発生するたびにプログラムを停止していたのでは問題となる訳ですね。
それを回避したのが、次のプログラムです。
画像

\(while\) ループ内に \(try\) 節と \(expect\) 節があって、その中をグルグルと回っているイメージですね。 
\(try\) 節に書かれてコードを実行して「例外」が発生しなければ、\(while\) ループを抜けることができます。
もし、 \(try\) 節に書かれてコードを実行して「例外」が発生すれば、 \(expect\) 節に書いてあるコードを実行して、\(while\) ループを抜けず、グルグルと回ります。
つまり、単純ミスによる例外が発生しても、プログラムを停止せずに、\(while\) ループして、その例外が無くなった時点で抜け出すことのできるプログラムを実現できるということですね。

また、ここでは示していませんが、\(expect\) の後ろに例えば などの例外タイプを指定しておくと、その例外以外は \(expect\) 節以降に書かれたコードを実行せず、通常の例外処理になります。詳細は実行中に検出されたエラーを参照願います。

今日はこの辺で。。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
「例外」について T_NAKAの阿房ブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる