- ベストアンサー
Javaコンパイルエラーが発生し、解決できません
- Java初心者が練習中のプログラムで、Exceptionクラスを継承して新しい例外を作ると、コンパイルエラーが発生しています。
- コンパイル時に、「ExceptionにはStringを引数にとるコンストラクタはない」というエラーメッセージが表示されます。
- 原因がわからず解決できない状況です。お分かりの方がいらっしゃいましたら、ご教示いただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
非標準のExceptionクラスのクラスファイルかソースファイルがクラスパスやソースパス上に存在していないか確認を。 そのNewExceptionの定義自体は問題ないはず。 たとえば、 class NewException extends java.lang.Exception { public NewException() { super("エラー"); } } としてNewException.javaをコンパイルするとどうなる?
その他の回答 (2)
- osu_neko09
- ベストアンサー率48% (56/115)
はて?こちらの環境ではコンパイルが通りますけどね・・。 「Exception には String を引数にとるコンストラクタは見つからないよ」と言われているので、おかしいのはソースではなく環境設定のほうでしょう。 クラスパスの設定とか、正しいですか?
お礼
返事が遅くなってしまい申し訳ありません。 No.3の方の指摘で解決させていただきました。 練習用に深く考えずに作った Exception.class ファイルが原因でした。。 そんな理由、きっと慣れている人にはなかなか想像できないですよね。 我ながら、初心者ってこわいです。 これからはプログラムを作る際も、質問する際も、もっと注意深くやっていこうと思います。 くだらない質問に対応していただきありがとうございました。
- goold-man
- ベストアンサー率37% (8364/22179)
例外?
お礼
ご対応ありがとうございました。 お教えいただいたURL先の情報も、以後参考にさせていただきます。
補足
すいません、表現がおかしかったでしょうか。。 簡単に言ってしまうと、Exceptionクラスを継承したNewExceptionというクラスを作りたいだけなんですが。。 その際、NewExceptionのコンストラクタでは、superを使ってExceptionのコンストラクタであるException("エラー")を呼び出している、、、つもりなんですが。 もしかして、なにか見当違いなことしてるんでしょうか?
お礼
返事が遅くなってしまい申し訳ありません。 回答を読ませてもらった後、もしや、と思い作業フォルダをみると、、、 ありました、、 大量に作った練習用ファイルの中に Exception.java と Exception.class が。。 早速削除して、再び件のファイルをコンパイルしたところ、問題なく通りました。 我ながら開いた口がふさがりません。自分の不注意を恥じ入るばかりです。 こんな間抜けな質問に的確な指摘をいただきありがとうございました。