在寫方法的時候我們很多時候會碰到這種情況:
情況一 的時候我們要返回物件,
情況二的時候我們想返回字串甚至另乙個物件了,
但是返回值型別設定成物件了,這時候我們怎麼處理呢;
那麼現在我們就可以用到異常了
public user getuser(string id) throws exceptionelse
}public void test()catch (exception e)
}
上述**中返回值為 user, 但是 如果user不存在的話需要返回字串,這種情況 就要把字串通過異常丟擲去, 然後在呼叫方法的時候進行異常的處理, 從而獲取所需要的資料;
拋異常不僅限於字串還有很多態別的都可以,我想要用異常拋乙個物件回去的話,我可以用gson把物件轉換成json,然後當字串傳給exception, 丟擲去,回頭直接獲取,再轉回物件就行了;
當然用exception只是為了簡單,在正常開發中有什麼特殊需求的話,需要自己自定義異常類進行處理相關資料,
異常裡邊可以傳乙個引數也可以兩個也可以三個;
有些有特殊需求的異常也用到collection;
/**
* */
package chengzi;
/** * @author chengzi
* */
public class test catch (exception e) }
public string getuser(string id) throws exception
if(user == null)else
}}
方法引數型別以及返回值
乙個方法的形參要乙個類 型別,就傳乙個該類的物件 public class mytest public static void set student student,int num class student 輸出結果 2乙個方法的形參要乙個抽象類 型別,傳乙個該抽象類的子類物件 public c...
關於函式的返回值與返回型別
返回型別只是決定分一塊什麼型別的記憶體來儲存該返回值。返回值不管是不是外部傳入還是內部定義,只要不是返回引用,在函式執行到 時會拷貝生成乙份匿名物件到外部函式棧。同樣的,形參只要不是引用型別,傳入引數也會執行一次拷貝,該拷貝從外部函式棧,拷貝到被呼叫函式棧。vs編譯器會做一些優化,減少拷貝次數。直接...
方法引數型別以及返回值型別問題
1.類名作為形式引數 返回值型別 類名作為形式引數,即乙個方法的形參要的是類型別,就傳類的乙個物件 extends 類名作為返回值,即乙個方法的返回值要的是類型別,就返回類的乙個物件。2.抽象名作為形式引數 返回值型別 抽象名作為形式引數,即乙個方法的形參要的是抽象類型別,就傳該抽象類的子類的乙個物...