2015-12-22 35 views
-1
import java.util.concurrent.Callable; 
import java.io.IOException; 

public class HelloWorld{ 

public static void main(String []args){ 
    Callable<Void> callable = new Callable<Void>() 
    { 
     public Void call() throws IOException 
     { 
      return null; 
     } 

    }; 
    try 
    { 
     callable.call(); 
    } 
    catch(IOException e) 
    {} 
} 
} 

這裏我得到錯誤「未報告的異常異常」。我不想使用泛型異常異常。該怎麼辦?java中不帶執行器的可調用

+0

'call()'是用'call()throws Exception'定義的,所以你可以在那裏改變任何東西。因爲其他一切都是「Exception」類的子類型。 – YoungHobbit

回答

2

Callable接口顯式聲明call()方法可能會拋出任何異常。如果您使用該接口,則必須捕獲該異常。

如果你不使用執行人,你也許可以定義自己的接口:

public interface IOTask 
{ 
    public void call() throws IOException; 
} 

而不是作出調用,做出IOTask代替。