Null参照の調べ方とエラーメッセージの見方

このQ&Aのポイント
  • VisualVasic2005でWindowsアプリケーションを開発中ですが、デバッグ時に「オブジェクト参照がオブジェクト インスタンスに設定されていません。」というエラーメッセージが表示されます。Null参照のエラーが発生する原因や、Null値になっているオブジェクト参照を調べる方法を教えてください。
  • 初心者の方でもわかりやすいように、デバッグ時のイミディエイトウインドウに表示されるエラーメッセージの見方や、エラー処理の方法についても教えてください。
  • Null参照のエラーを解消するためには、Nullチェックや例外処理の仕組みを理解する必要があります。参考ページや資料がありましたら、ぜひ教えていただけると嬉しいです。
回答を見る
  • ベストアンサー

Null参照を調べる方法を教えてください。

こんにちは、よろしくお願いします。 VisualVasic2005でWindowsアプリケーションを開発中です。 データベースはmdbを使用しています。 デバッグをした時に、 TableUpdataエラーで、「オブジェクト参照がオブジェクト インスタンスに設定されていません。」 という表示がされます。 いろんなページを見て、Null参照になっていると発生するエラーだということは理解できたのですが、どのオブジェクト参照がNull値になっているのか、調べ方がわかりません。 最近、勉強をはじめたばかりで、一生懸命コードを書いたのですが、 肝心のデバックした時のイミディエイトウインドウに書かれる エラーメッセージの見方や、エラー処理の仕方がいまいちわかりません。 もっと便利に活用したいので、参考ページなどありましたら教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

IsNothing関数を使うか、If obj Is Nothing Then と書くか、 基本的には どちらかになると思います。 オブジェクト変数のNull参照はNothingですので。 = Nothing ではなく、Is Nothing であることに注意してください。

to12345
質問者

お礼

Sogacchiさま、回答ありがとうございました。 デバッグを細かくして、問題の箇所に if Obj IS Nothing Then で、分岐処理を行ったらちゃんと動くようになりました! ありがとうございました☆

関連するQ&A

  • オブジェクト参照がオブジェクト インスタンスに設定されていません  というエラーについて

    タイトルの「オブジェクト参照がオブジェクト インスタンスに設定されていません」についてですが、 このエラーは、 null を参照しようとして例外が発生している エラーだと解釈しているのですが、nullでないのに、このエラーが出る場合はどのように対処すればいいのか教えてください。 下記のような文があるとします。 Dim aaa as String 'aaaは、データベースからデータをとってきています。 If aaa IsNot DBNull.Value Then DropDownList.SelectedItem.Text = aaa.TrimEnd 'ここでエラー End If aaaは、NullではないのでIf文の中に入っていくのですが、DropDownListにデータを入れようとすると、タイトルのようなエラーが発生します。 デバッグでaaaの値を見ても、ちゃんとデータが入っているし、Nullではないのですが、なぜこのようなエラーが出るのかわかりません。 このエラーは他に違う意味があるのでしょうか? また、他に影響している部分があるのでしょうか? どなたか教えてください。 よろしくお願いいたします。

  • VC++「オブジェクト参照がオブジェクト・・・・

    Stringで2次元配列をやりたいと思っているのですが、 array<array<String^>^>^ addr_eeprom02; このような宣言をしたのですが、 次のようなプログラムを実行使用とすると addr_eeprom02[cnt_test][1] = data->Substring( 1, 8 ); ビルドは通ったのですが、デバッグしていくと 「オブジェクト参照がオブジェクト インスタンスに設定されていません。」 というエラーが出ます。 解決方法などありませんでしょうか?

  • フレーム間オブジェクト参照

    フレームを使ったページで、 親フレームの中に、A,Bという2つのフレームを作り、 直接AのURLを入れても、エラーを出したいのですが、 どういう作りをしたら良いのでしょうか? 親フレームから見ないとエラー(警告ページに飛ぶなど) にしたいのです。 フレームAから、 フレームB内のテキストボックスを参照できるか否かの ような形でフレームBの存在を知ろうと思ったのですが、 Nullかオブジェクトがないとか言われるので処理が中断 してしまいます。 JavaScriptでオブジェクトの値を参照した時に、オブジェクト がないとかの判断ができるプロパティ等があればいいのですが。 JavaScriptでできますでしょうか?

  • Flash ステージに初期配置したMCがnull

    FlashPro CS5で as3の勉強をしています。 メインのタイムラインにマスク用のレイヤーを作成し、その2フレーム目にムービークリップを配置してインスタンス名を付けました。 ところが、ドキュメントクラスオブジェクトからこのマスク用のインスタンスを参照したところ、nullが返って来てしまいました。 これはどういった仕組みになっているのでしょうか? 2フレーム目で初めてインスタンスが生成されるのでしょうか? 再び1フレーム目に戻ってきた時にはどうなっているのでしょうか?

    • ベストアンサー
    • Flash
  • 「オブジェクト参照がオブジェクト インスタンスに設定されていません」というポップアップが消えません

    「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。〔継続〕をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。 オブジェクト参照がオブジェクトインスタンスに設定されていません」 というエラーが消えません。書いてある通り、〔続行〕ボタンをクリックしても、全く消えず、このエラーが消えないせいでパソコンの電源を 切ることも、再起動することもできません。 とても困っていますので、どなたかわかる方おられましたら、 解決方法を教えてください。

  • NULLについて

    NULLについて伺います。 現在、strutsで入力画面にて入力した内容がデータベース(MYSQL)に反映されるWEBアプリケーションを作っているのですが、Column 'title' cannot be nullとコンソールでエラーが出ており、「not nullでテーブルを作り直せばいいのかな」と思い、一旦テーブルを削除してからもう一度作り直したのですが、エラーが変わりません。何かしらご教授頂ければ幸いです。よろしくお願いいたします。下記にテーブル構造と、その下にエラーを貼り付けておきます。(文字数の関係上、エラー全文は貼り付けられませんでした) mysql> desc input; +--------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | title | text | NO | | NULL | | | movie_url | text | NO | | NULL | | | material_url | text | NO | | NULL | | | explanation | text | NO | | NULL | | +--------------+---------+------+-----+---------+----------------+ com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'title' cannot be null

    • ベストアンサー
    • MySQL
  • PCのインターネット接続について

    ソニーバイオなのですが、 多少調子が悪いのでリカバリーしました、無事に終了したのですが、 インターネットの接続ができません。 それで、最初に下記のメッセージが出ました。 *ランタイムエラーが発生しました デバッグしますか? 行52 エラー:オブジェクトがありません と出て その後 デバック デバックを選択してください。 可能なデバッガ(P) 新しいインスタンスMicrosoft script Editor 選択したデバッガを使ってデバックしますか?   はい  いいえ リモート プロシャージャ コールにステップイン! のような、画面がでます。どのようしたら改善できるか 教えてください。

  • メモリが参照できませんでした?

    パソコン立ち上げ時によく lvhidsvc.exeアプリケーションエラー "0x7xxxxxxx"の命令が"0000000000"のメモリを参照しました。メモリが"read"になることはありませんでした。 プログラムを終了するには[OK]をクリックしてください。 プログラムをデバックするには[キャンセル]をクリックしてください。 と出ます。 パソコンを閉じるときにも出ます。 これは放っておいても大丈夫なものですか? それとも何かしらの異常があるんでしょうか?

  • 121ポップリンクで更新エラーが表示される

    121ポップリンクで更新エラーが表示される 更新エラー表示後 ランタイムエラーが発生しました。 デバッグしますか? 行:635 エラー:'this_receviveBoxColumn.divIdName’はNullまたはオブジェクトではありません。 と表示される。 デバックを選択して実行していっても解決しない。 アンインストール後、再インストールしても同じ

  • AccessVBA NULLについて

    いつもお世話になっております。 AccessVBAでコーディングを始めたのですが、 NULLの判定で分からない点がでてきました。 データベースより If rs.Fields(0) = Null Then Else 区分 = rs.Fields(0) End If この場合、rs.Fields(0)の中身がNULLの場合は rs.Fields(0)のデータを入れるとエラーになるので ELSEで逃がしたいのですが、 中身のデータがNULLにもかかわらずELSEの方を通ってしまいます。 If rs.Fields(0) Is Null Then Else シール = rs.Fields(0) End If こちらかとも思いましたが、オブジェクトが必要とエラーが返ってきました。 NULLをIF分で判定したい場合どのような記述を行えばよいでしょうか。 どうぞよろしくお願い致します。

専門家に質問してみよう