2012-04-26 6 views
7

をキャッチするためにJavaを呼び出すことはできません。 Javaコンパイラーから「未処理例外タイプMyCheckedException」というエラーが発生します。 MyCheckedExceptionのcatchブロックを追加すると、例外がスローされないため、catchブロックが到達不能であることをコンパイラーが告げる結果になります。@throwsは、私がこのようないくつかのScalaのコードを持って正しい例外タイプ

例外をキャッチしてinstanceOfを実行した場合、doStuffから正しい例外がトラップされますが、@throwsアノテーションは適切なキャッチブロックが動作するための正しいバイトコードを生成すると考えられました。間違っているのですか、ここにバグがありますか?

これはScala 2.9.2とJava 1.6で記録されています。

編集:コマンドラインからsbtを使用してjavac/scalacを呼び出すようにコンパイルします。このエラーは、Eclipseでのコンパイル時にのみ表示されます。これは、バグがEclipse JavaコンパイラまたはIDEの一部にあることを示しています。他人がこれをこのように再現できますか?私はEclipseを使用しています。3.7.2

+1

いくつかのコード –

+0

を再現することはできません表示し、あなたを助けるために私たちを助けて、あなたは完全な例を提供することができますか? – axtavt

+0

上記のフルクラスが含まれています –

答えて

6

これをHeliosで2.9.1で再現できます。これはプレゼンテーションコンパイラのバグです。http://www.assembla.com/spaces/scala-ide/ticketsにバグとして報告してください。

+2

ありがとうございます。それはhttp://scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/[email protected]の複製であってもなくてもよい。 scala-traitsがありますが、今は別にそれを上げます –

+0

@David North私はあなたがリンクしたチケットの複製であると確信しています。おそらく、同じチケットにテストケースを追加することができます。 –

+0

終わりの上がるhttp://scala-ide-portfolio.assembla.com/spaces/scala-ide/support/tickets/[email protected]ing -コード –

2

この問題は今後修正される予定です(https://github.com/scala-ide/scala-ide/commit/055a81cd3fe792e4327668791888c30cf04793f5)。修正は既にScala IDE 2.0.x and Helium nightliesで利用可能です。 さらに、次のScala IDE 2.0.2メンテナンスリリースに含まれます。

は、(追加のノイズのために申し訳ありませんが、私は答えを有する簡単なコメントよりも見えていたことに気づい)

関連する問題