日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Exceptions(小节)

發布時間:2024/1/17 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Exceptions(小节) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.什么是exceptions:
契約精神:簡單說api調用者傳入約定范圍內的參數,api返回約定相應的數值或做相應的操作
兩個約定:分別可以稱之為前置條件與后置條件

e.g:

String str = "12345"try {str.charAt(-1);str.charAt(2);} catch (Exception e){e.printTrack() }

上例中,約定范圍內的參數應該是0,1,2,3,4(str.lenth() - 1)
傳入參數為-1時,不在約定范圍內,違反了前置條件
str.charAt(2),如果不能正常返回str中得數值時,則是違反了后置條件

exceptions:api調用者或api沒有遵守前后置條件導致存在可預見的異常狀態

2.exceptions的類型
Error:客戶端無法處理的exceptions 例如 oom ,只能交給jvm處理

checked exceptions:如果希望api調用者有意識地采取措施,那么拋出checked exceptions
eg: 當上傳文件失敗時,throw NoNetWorkExceptions時,api調用者,可以將文件存儲在本地,采用另一種策略

unchecked exceptions:如果希望api調用者不必要采取補救措施,那么拋出 unchecked exceptions
eg:str.charAt(-1) StringIndexOutOfBoundsException

自定義異常類的作用,關鍵在于可以嵌入更多地信息

3.異常設計原則

  • 如果方法遭遇了一個無法處理的意外情況,那么拋出一個異常
  • 如果你認為客戶端程序需要有意識地采取措施,那么拋出檢查型異常
  • fail fast 盡早拋出異常
  • catch之后,不要什么都不做

?


參考:http://www.cnblogs.com/JavaVillage/articles/384483.html
http://www.cnblogs.com/octobershiner/archive/2012/12/20/2827120.html
http://niehan.blog.techweb.com.cn/archives/259.html?

轉載于:https://www.cnblogs.com/jsaint/articles/3374742.html

總結

以上是生活随笔為你收集整理的Exceptions(小节)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。