2009-06-21 105 views
2

我正在使用GWT(當前正在使用谷歌的eclipse插件),並且我試圖從服務器拋出一個異常給客戶端。在GWT(Google Web Toolkit)中拋出異常給客戶端

我的例外是一樣的東西

class LoginException extends Exception implements IsSerializable 

,但我得到(在加載時在託管模式):

[錯誤]在「[...]/src目錄/ mypackage中/客戶端錯誤/services/Session.java'

[錯誤]第25行:沒有源代碼可用於類型爲hugobarrera.gestorAlumnos.server.LoginException;你忘了繼承一個必需的模塊嗎?

Session.java是:
[...]

public interface Session extends RemoteService { 

[...](第25行:)

String newSession(String usr, String pwd) throws LoginException; 

[...]

我哪裏錯了?我讀過百萬個地方,人們在拋出異常方面存在問題,但沒有應用這些解決方案。

+3

LoginException是否與Session接口在同一個java包和項目中? – skaffman 2009-06-21 21:13:09

+0

不是。將它移到同一個包中解決了這個問題。另外,將它移動到services.exceptions也是可行的:)你應該發佈這個答案而不是評論(= – WhyNotHugo 2009-06-23 04:46:21

回答

4

需要序列化的所有類必須位於客戶端軟件包或子軟件包中。

顯然他們可能沒有構造函數。
[編輯]您需要在可序列化的類中有無參數的構造函數。

2

skaffman:LoginException與Session不在同一個包中。

Hugo:將它們移動到相同的包中解決了問題。

相關問題