- - PR -
コンパイルエラー:「finally節が正常に完了できません」
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-04-26 10:26
--------------------------------------------------------------------------------
初めて書き込みさせて頂きます。 初心者ですので、よろしくお願い致します。 現在、Java(Ver1.4.2)で「finally節が正常に完了できません。」という コンパイルエラーが出ます。 Ver1.3.1ではエラーは出ないのですが・・・。 Ver1.4.2では try { ・・・ } catch (例外クラス型 引数名) { ・・・ } finally { ・・・ } の構文は使えないのでしょうか? | ||||||||||||
|
投稿日時: 2004-04-26 12:17
そんなことはありません。何か他の原因があるはずですが、他にエラーは出ていないのでしょうか? | ||||||||||||
|
投稿日時: 2004-04-26 12:23
Java って、エラーの根本原因の箇所を的確に選別できん事が多いですな。
コンパイラの癖に。 根本原因は他の箇所にある場合も結構多いです。 | ||||||||||||
|
投稿日時: 2004-04-26 12:26
finally句の中で例外throwしたりreturnしたりしてません?
| ||||||||||||
|
投稿日時: 2004-04-26 13:24
unibon です。こんにちわ。
ご指摘のとおりですね。たとえば、
を 1.4.2 でコンパイルすると、
という警告が出ます。 そうだ、警告ですね。エラーではないですね。 #Eclipse 2.1.3 だと何も出ませんでした。 英語だとこのメッセージは "finally clause cannot complete normally." あたりですよね。 ちなみに finally での return については、有名なものとしては、別のメーリングリストですが、 http://java-house.jp/ml/archive/j-h-b/049757.html がありますね。 | ||||||||||||
|
投稿日時: 2004-04-26 13:35
finally節の中が無限ループになっていたりしませんか?
以下のコードをj2sdk1.4.2コンパイラでコンパイルすると 件のコンパイルエラーが拝めます。
# 追記・訂正 コンパイルエラーではなく、警告でした。それに、return/throwの方が有力そうですね。 [ メッセージ編集済み 編集者: Wata 編集日時 2004-04-26 13:46 ] | ||||||||||||
|
投稿日時: 2004-04-27 12:07
みなさま、お忙しい中、ご回答ありがとうございました。
みなさまのおっしゃる通り、finally節にreturn文を書いておりました。 何分初心者なもので、finally節には「最後に必ず実行される処理」ということで、 return文を書いても良いものだと思っておりました。 勉強不足です。。。 ありがとうございました。 | ||||||||||||
1
