- PR -

実行時エラーについて

投稿者投稿内容
ゴールデン
常連さん
会議室デビュー日: 2004/08/22
投稿数: 46
投稿日時: 2007-08-07 20:52
すみません。教えてください。
コンパイルは成功しているのですが、実行エラーがでます。
NullPointerException が出るのですが、

Javaコンソールには…
java.lang.NullPointerException
at MqovM.getHTMLParameter(MqovM.java:409)
at MqovM.init(MqovM.java:192)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
と出て

コマンド画面には…
java.lang.NullPointerException
at MqovM.setTextureAllMaterials(MqovM.java:886)
at MqovM.init(MqovM.java:143)
at sun.applet.AppletPanel.run(AppletPanel.java:417)
at java.lang.Thread.run(Thread.java:619)
と出ます。

いったいどうなっているのか分りません。

そして、どう考えても(といっても後でミスが見つかるかも)NullPointerではないのです。
こんなことってありますでしょうか。
宜しくお願いします。
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-08-07 21:08
引用:

ゴールデンさんの書き込み (2007-08-07 20:52) より:
すみません。教えてください。
コンパイルは成功しているのですが、実行エラーがでます。
NullPointerException が出るのですが、

Javaコンソールには…
java.lang.NullPointerException
at MqovM.getHTMLParameter(MqovM.java:409)
at MqovM.init(MqovM.java:192)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
と出て

コマンド画面には…
java.lang.NullPointerException
at MqovM.setTextureAllMaterials(MqovM.java:886)
at MqovM.init(MqovM.java:143)
at sun.applet.AppletPanel.run(AppletPanel.java:417)
at java.lang.Thread.run(Thread.java:619)
と出ます。

いったいどうなっているのか分りません。

そして、どう考えても(といっても後でミスが見つかるかも)NullPointerではないのです。
こんなことってありますでしょうか。
宜しくお願いします。




コンパイルしていてもコーディングみすがあればNullPointerExceptionが゙投げられます。
エラーログの一番上にある自分の作成したオブジェクトのクラスのxxx行目を見てみましょう。
例外が出た場合は頭で考えてはだめです。
ソースを順をおって確認するか、デバッグToolなどで怪しい箇所でとめてみましょう。
ゴールデン
常連さん
会議室デビュー日: 2004/08/22
投稿数: 46
投稿日時: 2007-08-08 07:27
杏さん、返答ありがとうございます。
きっとコーディングミスでしょうね。

私は、エディタとJDKで行っていますが、例えばeclipseを使用すると、コードミスがすぐわかるなんてことはありますでしょうか。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2007-08-08 09:04
引用:

ゴールデンさんの書き込み (2007-08-08 07:27) より:
杏さん、返答ありがとうございます。
きっとコーディングミスでしょうね。

私は、エディタとJDKで行っていますが、例えばeclipseを使用すると、コードミスがすぐわかるなんてことはありますでしょうか。



eclipseはコーディングを助けてくれますが
コーディングのミスを全て自動的に発見することはできません。
しかし、デバッグも助けてくれるので
ミス箇所を発見するのにとても役立ちます。


引用:

そして、どう考えても(といっても後でミスが見つかるかも)NullPointerではないのです。


何が根拠になっての発言かわかりませんけど
ソースコードもテストデータもないので確かなことは言えませんが
恐らくNullPointerExceptionの発生する条件をご理解できていない上での
発言なのではないでしょうか。
実装上、throw new NullPointerExceptionをしているのか
もしくはインスタンス化されていないオブジェクトに対し
インスタンス変数として扱っているとか
nullになっているオブジェクトを参照しようとしているとか
しているはずです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-08-08 09:09
引用:

ゴールデンさんの書き込み (2007-08-08 07:27) より:

きっとコーディングミスでしょうね。
私は、エディタとJDKで行っていますが、例えばeclipseを使用すると、コードミスがすぐわかるなんてことはありますでしょうか。


統合開発環境 (IDE) で行ってくれるのはせいぜい構文チェックです。(それなりの CASE を使えば少し上のこともできますが) 構文チェックとは、つまりコンパイル (ビルド) が通るかどうか程度のチェックでしかありません。 ゴールデンさんのプログラムは動作していますから構文の間違いはないと言えるでしょう。

コンパイル (ビルド) が通っても自分の意図したとおりに動かなければそれは不具合 (バグ) です。 ゴールデンさんの場合はこれに当たります。 これは構文以外のコーディング ミス (ロジックのミスなど) に起因します。 それらをチェックするには IDE が人工知能を搭載し、仕様書を理解していなければなりません。 あなたが所望しているのは、極端にいえばそういうことだと思いますがいかがでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2007-08-08 09:33
Java実行環境により例外が発生しているということは、
基本的には実際にそういう問題があるということです。
まずは自分の書いたものに間違いがあるはずだという前提に立ってください。

・自分で書いたJavaのソースを机上デバッグする
・Appletのようですので、HTML側の設定も間違っていないかを見直す
http://www.geocities.co.jp/Playtown-Rook/5070/howto.html

上記2点を実施されることをお勧めします。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2007-08-08 09:42
その行で使っている変数をSystem.out.printlnしてみるだけでも、

>どう考えても(といっても後でミスが見つかるかも)NullPointerではないのです。

が本当かどうか確認することができます。
頭で「ならないはずだ」と思い込んでいることが、一番怖いのです。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-08-08 11:32
NullPointerExceptionが起きる場合は
該当行にブレークポイントを張って停止させ、
変数の中を確認すれば大抵分かります。

スキルアップ/キャリアアップ(JOB@IT)