異常類
如你所想泽篮,kotlin中所有的異常類跟java一樣,都是Throwable類的后代柑船。每個異常類都有消息咪辱,堆棧信息。
表現(xiàn)形式椎组,雷同java:
throw Exception( errorMsg )? ? ?????//不需new關(guān)鍵字
或
try{
????//業(yè)務(wù)代碼
}catch( e : Exception ){
? ? //處理異常
}finally{
????//可選
}
Try表達式
try表達式返回值是油狂,try的最后一個表達式或者catch塊中最后一個表達式。
Nothing特殊類型
在kotlin中throw也屬于表達式寸癌,它的類型就是nothing類型专筷,該類型沒有值。
var temp = a ?: throw Exception("a? ?is? null")? //返回a的值蒸苇,或拋異常
可以用nothing來標記一個永遠不會返回的函數(shù)磷蛹,通常用來拋異常:
官方解釋:
上述temp語句,表示如下:
kotlin中溪烤,定義null屬于nothing類型:
實際使用kotlin開發(fā)中味咳,由于有嚴格的空安全,個人拙見感覺用處不大檬嘀。