麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

RuntimeException的特殊情況

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

  本章的第一個例子是:
  if(t == null)
  throw new NullPointerException();
  看起來似乎在傳遞進(jìn)入一個方法的每個句柄中都必須檢查null(因?yàn)椴恢勒{(diào)用者是否已傳遞了一個有效的句柄),這無疑是相當(dāng)可怕的。但幸運(yùn)的是,我們根本不必這樣做——它屬于java進(jìn)行的標(biāo)準(zhǔn)運(yùn)行期檢查的一部分。若對一個空句柄發(fā)出了調(diào)用,Java會自動產(chǎn)生一個NullPointerException違例。所以上述代碼在任何情況下都是多余的。
  這個類別里含有一系列違例類型。它們?nèi)坑蒍ava自動生成,毋需我們親自動手把它們包含到自己的違例規(guī)范里。最方便的是,通過將它們置入單獨(dú)一個名為RuntimeException的基礎(chǔ)類下面,它們?nèi)拷M合到一起。這是一個很好的繼續(xù)例子:它建立了一系列具有某種共通性的類型,都具有某些共通的特征與行為。此外,我們沒必要專門寫一個違例規(guī)范,指出一個方法可能會“擲”出一個RuntimeException,因?yàn)橐呀?jīng)假定可能出現(xiàn)那種情況。由于它們用于指出編程中的錯誤,所以幾乎永遠(yuǎn)不必專門捕捉一個“運(yùn)行期違例”——RuntimeException——它在默認(rèn)情況下會自動得到處理。若必須檢查RuntimeException,我們的代碼就會變得相當(dāng)繁復(fù)。在我們自己的包里,可選擇“擲”出一部分RuntimeException。
  假如不捕捉這些違例,又會出現(xiàn)什么情況呢?由于編譯器并不強(qiáng)制違例規(guī)范捕捉它們,所以假如不捕捉的話,一個RuntimeException可能過濾掉我們到達(dá)main()方法的所有途徑。為體會此時發(fā)生的事情,請?jiān)囋囅旅孢@個例子:
  
  //: NeverCaught.java
  // Ignoring RuntimeExceptions
  
  public class NeverCaught {
   static void f() {
    throw new RuntimeException("From f()");
   }
   static void g() {
    f();
   }
   public static void main(String[] args) {
    g();
   }
  } ///:~
  
  大家已經(jīng)看到,一個RuntimeException(或者從它繼續(xù)的任何東西)屬于一種非凡情況,因?yàn)榫幾g器不要求為這些類型指定違例規(guī)范。
  輸出如下:
  
  java.lang.RuntimeException: From f()
  at NeverCaught.f(NeverCaught.java:9)
  at NeverCaught.g(NeverCaught.java:12)
  at NeverCaught.main(NeverCaught.java:15)
  
  所以答案就是:假若一個RuntimeException獲得到達(dá)main()的所有途徑,同時不被捕捉,那么當(dāng)程序退出時,會為那個違例調(diào)用PRintStackTrace()。
  注重也許能在自己的代碼中僅忽略RuntimeException,因?yàn)榫幾g器已正確實(shí)行了其他所有控制。因?yàn)镽untimeException在此時代表一個編程錯誤:
  (1) 一個我們不能捕捉的錯誤(例如,由客戶程序員接收傳遞給自己方法的一個空句柄)。
  (2) 作為一名程序員,一個應(yīng)在自己的代碼中檢查的錯誤(如ArrayIndexOutOfBoundException,此時應(yīng)注重數(shù)組的大?。?。
  可以看出,最好的做法是在這種情況下違例,因?yàn)樗鼈冇兄诔绦虻恼{(diào)試。
  另外一個有趣的地方是,我們不可將Java違例劃分為單一用途的工具。的確,它們設(shè)計用于控制那些討厭的運(yùn)行期錯誤——由代碼控制范圍之外的其他力量產(chǎn)生。但是,它也非凡有助于調(diào)試某些非凡類型的編程錯誤,那些是編譯器偵測不到的。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产一级性生活视频 | 日韩黄在线观看 | 国产成人免费高清激情视频 | 久久超 | 激情大乳女做爰办公室韩国 | 少妇的肉体k8经典 | 久久久久久久久国产 | 成人在线视频在线观看 | 欧美一极视频 | 久久久免费观看完整版 | 韩国十九禁高潮床戏在线观看 | 美女网站黄在线观看 | 一级电影免费看 | 亚洲国产综合在线观看 | 成年性羞羞视频免费观看 | 欧美视频国产 | 欧美精品激情视频 | 九九午夜| 久草成人在线 | 久久精品亚洲精品国产欧美kt∨ | 日本一区二区不卡高清 | 欧美成人免费在线视频 | 久久久久国产成人免费精品免费 | 羞羞电影网 | 欧美一级黄色网 | 有兽焉免费动画 | 99影视在线视频免费观看 | 九九热国产在线 | 中文字幕爱爱视频 | av免费在线网 | 在线a毛片 | xxxxhdvideosex| 在线视频 日韩 | 中文字幕欧美专区 | 一级毛片在线看 | 国产精品久久久久影院老司 | 色999中文字幕 | 久久蜜桃香蕉精品一区二区三区 | 国产在线观看 | 国产精品久久久久久久久久三级 | 摸逼逼视频 |