C言語関係掲示板

過去ログ

No820 エラーの種類

[戻る] [ホームページ]
No.10378

エラー処理
投稿者---river(2003/11/09 00:46:51)


C言語に限らないんですが、アプリケーション開発者にとってのエラー処理の意味とアプリケーション利用者にとってのエラー処理の意味について知りたいんですが、誰か教えてくれませんか?

No.10387

Re:エラー処理
投稿者---たか(2003/11/09 18:23:00)


>C言語に限らないんですが、アプリケーション開発者にとってのエラー処理の意味とアプリケーション利用者にとってのエラー処理の意味について知りたいんですが、誰か教えてくれませんか?

まずエラーには文法エラー、論理エラー、実行時エラーの3つに大きく
分けられます。開発者はこの3つのエラーをすべて取り除くように努力
しなければなりません。

・文法エラー…言うまでもなくコンパイルが通らないエラーです。これを
       取り除かないとそもそも実行ファイルが出来ません。

・論理エラー…プログラムの内部的ロジックに問題があるために起こる
       エラーです。コンパイルが通るのにどうも実行結果が期待
       したのと違う場合このエラーに該当します。通常デバッグ
       作業とはこのエラーを取り除く事に該当します。

・実行時エラー…プログラムとは関係なく、主にコンピュータの物理的
       性質から発生するエラーです。(例:メモリ不足、ファイル
       が開けない、ディスクの容量不足等)このエラーはOS、
       ハードウェアの違いによって元のプログラムは全く同じで
       も様々な現れ方をします。プログラム開発者は使用者にこ
       の種のエラーに遭遇しても最小限の被害で済むような仕掛
       けをしておくべきです。(フリーソフトではこの種の対策
       が一般に少なく、商用ソフトは多い)

       使用者が遭遇するエラーはこの実行時エラーが主なもので
       す。C++はこの種のエラーに対応しやすくするため例外処理
       機能を備えています。

       学習者は当然プログラマを目指しているのですからエラー
       が発生したらこの3つのうちどのエラーに該当するのか
       素早く判断できる能力を養う必要があります。

       また、アプリケーションがさらに言語を備えている場合は
       サンプルプログラムを除きその実行結果の責任はすべて
       使用者にあります(例:EXCEL VBA等)。インタプリタ型の言
       語の場合最悪の状況でも暴走しないような配慮はできるだ
       けプログラマ側ですべきではありますが。