編譯我的程序時,我得到這個錯誤:我的代碼請求異常被拋出,但是當我做,它說,它不應該被拋出
./GUI/mainWindow.java:30: error: unreported exception Exception; must be caught or declared to be thrown
clientUI.initClientUI();
^
1 error
但我的方法實際上拋出異常:
public final void initClientUI() throws Exception {
但是,如果我刪除「拋出異常」部分,嘗試編譯,然後再次添加它,程序編譯成功。任何人都可以解釋爲什麼會發生?
編輯:
如果我添加 「拋出異常」 給我打電話
public void actionPerformed(ActionEvent e) throws Exception { //<-----add Exception there
ClientWindow clientUI = new ClientWindow();
clientUI.initClientUI();
的方法我得到這個錯誤:
./GUI/mainWindow.java:28: error: actionPerformed(ActionEvent) in <anonymous GUI.mainWindow$1> cannot implement actionPerformed(ActionEvent) in ActionListener
public void actionPerformed(ActionEvent e) throws Exception {
^
overridden method does not throw Exception
1 error
至於最後一個問題(在EDIT)編譯器說,這一切:「重寫方法不拋出異常」。即如果你重寫了一些方法,那麼重寫方法的**方法簽名不能改變**。 – informatik01