2011-08-10 7 views
2

コンパイルモードまたはホストモードプロセスでエラーは表示されませんが、GWTが作成するJSにはエラーが含まれていますウェブサイトのレンダリング。これはどうしたらできますか?これはコンパイラの問題ですか?GWTはホストモードでうまく動作し、エラーなくコンパイルできますが、JSファイルはバグです

FireBugは私に何のエラーも全く与えません。

しかし、私はこのようなJSを効果的にデバッグすることができないため、ここからどこに行くべきか、もっと多くの情報を皆さんに提供することはできません。より根本的に、私はGWTが私にJSを働かせない理由を理解していない。

EDIT:これまでのPrettyとDetailedの意味はわかりませんでした。私にこれを指摘してくれてありがとう。私が今得するのはhttp://i.imgur.com/qUyNb.pngです。

ここからどこに行くのかわかりません。

編集2:私が投稿する最終的な画像です(約束します!):http://i.imgur.com/ZVQVW.png。これはかなりの成果です。 "Uncaught com.google.gwt.core.client.JavaScriptException(TypeError):null(匿名関数)のメソッド 'isString'を呼び出すことはできません。

+0

どのような種類のエラー?あなたは、より多くの情報を得るために、火かき棒などを使ってみましたか? – ivo

+0

"そのJSファイルはバグがあります"と "エラーが含まれている"という記述がないため、意味がありません。 「バグ」と「エラーが含まれている」という意味の情報を提供するには、質問を編集する必要があります。そうでないと実際の質問ではない可能性が高くなります。 –

+1

prettyフラグでコンパイルし、jsコードをデバッグすることをお勧めします。 Dev&Webモードには違いがあります。http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsCompatibility.html – Luismahou

答えて

3

この問題の解決策は、isStringがJNSIメソッドではなく、代わりにtry/catchブロックで書き込んだメソッドであることを実現しました。

例外:

try{something that will create a NullPointerException} 
catch(NullPointerException npe){npe.printStackTrace()} 

をLuismahouのリンク@上記のエラーを引くGWTでについては、以下の言った:これは私を倒してしまったコードだった最終的には、キャッチし、試してみて、ユーザー定義の例外は、サポートされています。 Throwable.getStackTrace()は本番モードでは意味がありません。 注:NullPointerException、StackOverflowError、OutOfMemoryErrorなど、Java VMによって暗黙的に生成されるいくつかの基本的な例外は、本番モードでは発生しません。代わりに、暗黙的に生成された例外に対してJavaScriptExceptionが生成されます。これは、基礎となるJavaScript例外の性質を適切なJava例外タイプに確実にマッピングできないためです。

私のtryブロックがJavaScriptExceptionとして表され、キャッチブロックによってキャッチされなかったNullPointerExceptionをスローしたと思います。教訓:GWTのNullPointerExceptions、StackOverflowErrors、OutOfMemoryErrorsをキャッチしないでください。

+1

何らかの理由でNullPointerExceptionを捕捉する必要がある場合は、java.lang.NullPointerExceptionとcom.google.gwt.core.client.JavaScriptExceptionの両方を捕捉していることを確認してください。ホステッドモードでは最初のモードを、プロダクションモードでは後のモードをキャッチします。 –

関連する問題