エラーの検出 : Visual Basic のデバッグの概要
更新 : 2007 年 11 月
このレッスンでは、デバッグを通じたプログラムのエラー修復について説明します。
プログラムの設計やコードの記述をどれほど慎重に行っても、エラーは発生するものです。エラーが原因で、プログラムが起動すらしない場合や、プログラムが実行を中止したりクラッシュしたりする場合、さらにはプログラムが動作しても期待した結果が得られない場合があります。
もちろん、エラーが発生したら、それを発見して修復する必要があります。プログラム内のエラーは一般にバグと呼ばれ、バグを発見して修復するプロセスをデバッグと呼びます。
デバッグは、反復プロセス、つまり繰り返し実行するプロセスです。通常、コードを記述したら、エラーが発生するまでプログラムを実行し、バグを発見して修復してから、再度プログラムを実行します。
ほとんどの場合、エラーを修復するためにプログラムを停止させる必要はありません。エラーが発生した場所のコードを修復し、中断したところからプログラムの実行を再開できます。このプロセスをエディット コンティニュと呼びます。
デバッグは Visual Basic IDE (統合開発環境) から行います。この環境には、バグの発見に役立ついくつかの特殊なコマンドとウィンドウが用意されています。これらのコマンドやウィンドウについては、この後のレッスンで詳しく説明します。
やってみよう
メモ : |
---|
ここでは、例外に関連する例を示します。例外とは、エラーが発生したことをプログラムが認識したときに作成 (およびスロー) されるオブジェクトです。発生したエラーの種類に応じて、異なる型の例外が作成されます。既定のユーザー設定では、Visual Basic プログラムの実行中に例外が発生した場合、エラーを説明してエラー修復の手助けとなるダイアログ ボックスが表示されます。 |
エディット コンティニュを使用するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスの [テンプレート] ペインで、[Windows アプリケーション] をクリックします。
[プロジェクト名] ボックスに「Edit」と入力し、[OK] をクリックします。
新しい Windows フォーム プロジェクトが開きます。
フォームをダブルクリックしてコード エディタを開きます。
Form_Load イベント ハンドラに次のコードを追加します。
Dim number As Integer = 1 Dim numbers As String = "" MsgBox(numbers + 1)
F5 キーを押してプログラムを実行します。プログラムが停止し、"InvalidCastException はハンドルされませんでした" というメッセージを示す例外のダイアログ ボックスが表示されます。
この例外は、コードにタイポグラフィのエラーがあるために発生しました。number (Integer 変数) を使用するところを、numbers (String 変数) という間違った変数を使用したためです。
この時点で、プログラムはまだ実行中です。デバッグの中断モードにあるだけです。エディット コンティニュを使用すると、プログラムを停止することなく (および再実行してチェックすることなく)、エラーを修復できます。
コード エディタで、numbers + 1 を number + 1 に変更します。
F5 キーを押して続行します。数値 2 を示すメッセージ ボックスが表示されます。
次の手順
このレッスンでは、デバッグについて説明すると共に、バグを修復してプログラムの実行を再開する方法を説明しました。次のレッスンでは、さまざまな種類のエラーについて説明します。
次のレッスン : 「バグの理解 : 3 種類のプログラミング エラー」