国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Java違例規(guī)范

2019-11-18 13:19:34
字體:
供稿:網(wǎng)友

  在java中,對那些要調(diào)用方法的客戶程序員,我們要通知他們可能從自己的方法里“擲”出違例。這是一種有禮貌的做法,只有它才能使客戶程序員準(zhǔn)確地知道要編寫什么代碼來捕捉所有潛在的違例。當(dāng)然,若你同時提供了源碼,客戶程序員甚至能全盤檢查代碼,找出相應(yīng)的throw語句。但盡管如此,通常并不隨同源碼提供庫。為解決這個問題,Java提供了一種非凡的語法格式(并強迫我們采用),以便禮貌地告訴客戶程序員該方法會“擲”出什么違例,令對方方便地加以控制。這便是我們在這里要講述的“違例規(guī)范”,它屬于方法聲明的一部分,位于自變量(參數(shù))列表的后面。
  違例規(guī)范采用了一個額外的要害字:throws;后面跟隨全部潛在的違例類型。因此,我們的方法定義看起來應(yīng)象下面這個樣子:
  void f() throws tooBig, tooSmall, divZero { //...
  若使用下述代碼:
  void f() [ // ...
  它意味著不會從方法里“擲”出違例(除類型為RuntimeException的違例以外,它可能從任何地方擲出——稍后還會具體講述)。
  但不能完全依靠違例規(guī)范——假若方法造成了一個違例,但沒有對其進行控制,編譯器會偵測到這個情況,并告訴我們必須控制違例,或者指出應(yīng)該從方法里“擲”出一個違例規(guī)范。通過堅持從頂部到底部排列違例規(guī)范,Java可在編譯期保證違例的正確性(注釋②)。
  
  ②:這是在C++違例控制基礎(chǔ)上一個顯著的進步,后者除非到運行期,否則不會捕捉不符合違例規(guī)范的錯誤。這使得C++的違例控制機制顯得用處不大。
  
  我們在這個地方可采取欺騙手段:要求“擲”出一個并沒有發(fā)生的違例。編譯器能理解我們的要求,并強迫使用這個方法的用戶當(dāng)作真的產(chǎn)生了那個違例處理。在實際應(yīng)用中,可將其作為那個違例的一個“占位符”使用。這樣一來,以后可以方便地產(chǎn)生實際的違例,毋需修改現(xiàn)有的代碼。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 香港| 禄劝| 年辖:市辖区| 大埔县| 麟游县| 华阴市| 德庆县| 奈曼旗| 金堂县| 伊金霍洛旗| 宁安市| 咸丰县| 娄底市| 奇台县| 灵宝市| 永康市| 临洮县| 炎陵县| 博罗县| 沧源| 武平县| 阜城县| 壤塘县| 延寿县| 汉阴县| 贵南县| 青河县| 梨树县| 永嘉县| 浏阳市| 海门市| 大同县| 东城区| 北川| 威信县| 建昌县| 巴青县| 那坡县| 东阳市| 福清市| 平果县|