詳細情報 :イミディエイト ウィンドウでコードをテストする
更新 : 2007 年 11 月
このレッスンでは、イミディエイト ウィンドウを使用してコードを評価および実行する方法について説明します。
前のレッスンでは、[例外処理アシスタント] を使用してランタイム エラーを修正する方法について説明しました。しかし、エラーの修正方法が明確でない場合、実際のコードを変更せずに、修正をテストすると便利なこともあります。イミディエイト ウィンドウと呼ばれる特別なデバッグ ウィンドウを使用すると、このようなテストを実行できます。
イミディエイト ウィンドウ
プログラムが中断モードの場合、[イミディエイト] ウィンドウを使用してコードの一部を実行し、変数や式を評価できます。たとえば、空の変数が原因でランタイム エラーが発生する場合、変数の値をチェックできます。また、[イミディエイト] ウィンドウを使用してその変数に値を代入し、その場合にプログラムの残りの部分がどのように動作するかをチェックすることもできます。
ヒント : |
---|
プログラムをデバッグ モードで実行している場合、[デバッグ] メニューの [中断] をクリックすると、いつでもプログラムを中断モードにできます。 |
コード エディタの場合と同じように [イミディエイト] ウィンドウにコードを入力し、Enter キーを押すと、コードを実行できます。変数または式を評価するには、評価する変数または式を疑問符の後に入力して、Enter キーを押します。結果は次の行に表示されます。
やってみよう
イミディエイト ウィンドウでコードをテストするには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスの [テンプレート] ペインで、[Windows アプリケーション] をクリックします。
[プロジェクト名] ボックスに「Immediate」と入力し、[OK] をクリックします。
新しい Windows フォーム プロジェクトが開きます。
ツールボックスから、2 つの TextBox コントロールと Button コントロールをフォームにドラッグします。
ボタンをダブルクリックしてコード エディタを開きます。
Button_Click イベント ハンドラに次のコードを追加します。
Dim miles As Integer = 0 Dim hours As Integer = 0 Dim speed As Integer = 0
miles = CInt(Textbox1.Text) hours = CInt(Textbox2.Text) speed = miles / hours MsgBox(CStr(speed) & " miles per hour")
F5 キーを押してプログラムを実行します。最初のテキスト ボックスに「100」、2 番目のテキスト ボックスに「0」と入力します。
Button1 をクリックします。プログラムが停止し、[例外処理アシスタント] ダイアログ ボックスに "OverflowException はハンドルされませんでした" というメッセージが表示されます。
IDE の下部にある [イミディエイト] ウィンドウに「?miles」と入力して、Enter キーを押します。
値 100 が次の行に表示されます。
ヒント : [イミディエイト] ウィンドウは、[デバッグ] メニューの [ウィンドウ] をクリックし、[イミディエイト] をクリックすると、いつでも開けます。
「?hours」と入力して、Enter キーを押します。
値 0 が次の行に表示されます。
「hours = 4」と入力し、Enter キーを押します。次に、「?hours」と入力し、Enter キーを押します。
hours の値が 4 (前の行で入力した値) になりました。プログラムのコードを変更せずに、[イミディエイト] ウィンドウで hours の値を変更できました。
F5 キーを押して続行します。結果を示すメッセージ ボックスが表示されます。
ヒント : このランタイム エラーが発生しないようにするには、Try ブロックで有効な数値を確認するエラー ハンドラを追加して、Catch ブロックでユーザーにメッセージを表示します。エラー ハンドラの詳細については、「問題が発生した場合の対処 : エラー処理」を参照してください。
次の手順
このレッスンでは、イミディエイト ウィンドウを使用して値を確認し、コードを実行する方法について説明しました。次のレッスンでは、論理エラーを検出して修正する方法について説明します。
次のレッスン : 「想定外の現象 : 論理エラーの検出」