━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ レンタル掲示板とクイズ投稿サイトを開発した櫻井文人の プログラムの考え方が身につくメルマガ『プログラムは考え方です』 ─────────────────────────────────── メルマガ発行人 櫻井文人のプロフィール ⇒ http://www.bunzin.net/program/prof.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ こんにちは、メルマガ発行人の櫻井文人です。 自動車を運転してても歩いたことになってしまいました。 詳しくは編集後記で。 今回は、今までメルマガ内で扱ってきた 「おやつの金額を計算する」プログラムに、 想定外の入力があった場合の処理を追加することを考えてみます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■■ 外からもらう情報は確認してから受け入れましょう ─────────────────────────────────── ■ 外からもらう情報は間違っていることもあります プログラムは情報を外からもらうこともあります。 それは、キーボードから入力される場合もありますし、 別のプログラムが吐き出したファイルの場合もありますし、 誰かが手書きで作ったファイルとしてもらうこともあります。 そういった外部からもらう情報は、だいたいは正しいのですが、 たまに間違った情報をもらってしまう場合があります。 例えば、キーボードからの数字の入力を期待していたのに、 誤ってアルファベットが混ざってしまっていたり、、 もらったファイルの中身が取り決めておいた規則どおりに なっていないこともあるかもしれません。 そういった誤った情報をそのままプログラムで処理してしまえば 当然ながらプログラムは正しく動きません。 さらに誤った情報を吐き出してしまったり、 コンピューター内に存在する他の正しい情報を破壊してしまう ような最悪の事態に陥ってしまうかもしれません。 ■ 外からもらう情報は確認してから受け入れましょう プログラムが間違った動作をしないようにするためにも、 外から情報をもらった場合は、想定どおりになっているかどうか 確認してから受け入れる必要があります。 例えば、数字だけの情報を期待している場合は数字以外の情報が 混入していないかとか、 もらったファイルの中身が取り決めておいた規則どおりに なっているかとかを確認する必要があります。 そして、もらった情報が正しくなかった場合の処理も考えておきます。 例えば、エラーを表示してプログラムを終了させるとか、 もう一度ただしい情報を催促するとかの処理が考えられます。 ■ プログラムのどこを修正するのか 「おやつの金額を計算する」プログラムには、おやつの個数を キーボードから入力してもらう処理があります。 ここでは当然ながら、数字を入力してもらうことを想定しています。 数字以外の情報を入力したり、何も情報を入力しないで プログラムを次にすすめると正しく動作しません。 ※実際はVBScriptを解釈するプログラムが異常を検知してくれて、 エラーを表示してプログラムが停止する動作となります。 そこで、数字以外の情報がキーボードから入力されたら、 「お菓子の数は数字で指定してください。」と警告を表示した後に、 個数の入力の処理に戻るような感じに修正します。 今回は話が長くなってしまったので、 修正したプログラムは次回のメルマガで紹介しますね。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■■ 編集後記 ─────────────────────────────────── 自動車を運転してても歩いたことになってしまいました。 自動車を運転している時も、腰に歩数計をつけていたら、 見事にカウントされていました。 当たり前と言えば当たり前なのですが、 思ったよりも多くカウントされていたので驚きました。 アクセル操作や、私の車がスポーツタイプであるので 路面の状況を受けやすいことなどが、 すごく影響があったのかなと思いました。 歩数のカウントが必要ない時は、ボタン一つでカウント を一時停止できたりすると便利なのですが、 残念ながら私の歩数計にはそのような機能はついてません。 正確な歩数を得るためには、 自動車に乗る前後のカウントから、 そのつど頭の中で補正してくほかなさそうです。 まあ、歩数計も健康のための目安として使っているので、 あまり神経質になる必要もないかなとも思いました。 最後までお読みいただき、ありがとうございました。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ●櫻井が開発したレンタル掲示板は コチラ ⇒ http://www.bunzin.gr.jp/m_board/ 画像のアップロードも可能なレンタル掲示板です。 無料ですのでお気軽にどうぞ。 ●櫻井が開発したクイズ投稿サイトは コチラ ⇒ http://www.bunzin.gr.jp/quiz/ あなたが考えたクイズを投稿することができます。 投稿されたクイズに回答することもできます。 無料ですのでお気軽にどうぞ。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ メルマガ発行人 櫻井文人 メルマガ発行責任者情報は コチラ ⇒ http://www.bunzin.net/program/mghsinfo.html アドレス変更と登録解除はコチラ ⇒ http://www.mag2.com/m/0000293166.html メルマガバックナンバーは コチラ ⇒ http://www.bunzin.net/program/mailmaga/backnumber/ 櫻井文人のプロフィール ⇒ http://www.bunzin.net/program/prof.html ご意見・ご感想はコチラ ⇒ bunzin●bunzin.gr.jp (メール送信の際は、●を@に置き換えてください。) (櫻井が確実に読みますが、返信は保障できません。) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |