簡體   English   中英

Java / Android:如何使用返回類型“列表” <MyType> &#39;?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM