BUNZIN NET ポータル / プログラムは考え方です / メルマガバックナンバーリスト
前のメルマガ / 次のメルマガ

2009/09/28発行 『【櫻井です】外からもらう情報は確認してから受け入れましょう』

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
レンタル掲示板とクイズ投稿サイトを開発した櫻井文人の
プログラムの考え方が身につくメルマガ『プログラムは考え方です』
───────────────────────────────────
メルマガ発行人
櫻井文人のプロフィール ⇒ 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
(メール送信の際は、●を@に置き換えてください。)
(櫻井が確実に読みますが、返信は保障できません。)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
メルマガ登録・解除
 
前のメルマガ / 次のメルマガ
企画・運営・管理 BUNZIN NET