[英]Java / Android: How to work with return type 'List<MyType>'?
我的問題是關於Java / Android的:
我創建了一個MyClass
類,該類具有方法getAllData()
,該方法返回List<MyType> = new ArrayList<MyType>()
。 在另一個類MyOtherClass
我調用此方法,並想將返回的List寫入另一個List<MyType>
。
但是我收到以下錯誤: 未處理的異常類型Exception
我該怎么辦?
這是代碼:
MyClass.java
public List<MyType> datas = new ArrayList<MyType>();
public List<MyType> getAllData() throws Exception{
//add some things to datas...
return datas;
}
MyOtherClass.java
public void fetchData(){
MyClass mydatas = new MyClass();
List<MyType> thedatas = mydatas.getAllData();
}
我該如何解決這個問題? 語句周圍有一個“ try / catch(Exception e)”,似乎沒有從getAllData();
獲取返回的List getAllData();
在此先多謝!
您聲明getAllData
方法引發Exception
。 現在,編譯器正在詢問您如果拋出Exception類型的異常怎么辦。
您永遠不應將Exception
作為方法簽名的一部分拋出。 太籠統了。 相反,您應該嘗試僅引發可能發生的特定異常。
如果您不希望fetchData
必須處理異常,則必須聲明fetchData
引發相同的異常,或者使getAllData
捕獲異常並在引發異常時返回適當的值。
由於getAllData()
可能拋出檢查異常(即,異常不是一個RunTimeException
),你必須與周圍的語句try-catch
public void fetchData() {
MyClass mydatas = new MyClass();
try {
List<MyType> thedatas = mydatas.getAllData();
} catch (Exception ex) {
// display or log exception name
}
}
或在方法名稱后添加throws
子句。
public void fetchData() throws Exception {
MyClass mydatas = new MyClass();
List<MyType> thedatas = mydatas.getAllData();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.