免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
一些常見的RuntimeException
  

Java中采用了強制異常捕捉機制,這樣一方面提高了程序的可靠性,不過有時候也帶來一些麻煩。比如: int i= Integer.parseInt("33");這個我知道它不可能會拋出異常,但是不捕捉異常的話就過不了編譯這關,當然這個代碼沒有意義的。

Java中所有異常或者錯誤都繼承Throwable,我們把它分為三類吧:1.Error:所有都繼承自Error,表示致命的錯誤,比如內(nèi)存不夠,字節(jié)碼不合法等。
2.Exception:這個屬于應用程序級別的異常,這類異常必須捕捉。
3.RuntimeException:奇怪RuntimeException繼承了Exception,而不是直接繼Error,  這個表示系統(tǒng)異常,比較嚴重。

Error我們很少遇到,但是并不是說Error就一定非常致命,舉個例子,NoSuchMethodError表示沒有這個方法,你調(diào)用的方法不存在,你一定覺得奇怪,不存在怎么編譯的過去呀?很簡單的,你先編譯好一個被調(diào)用的類A,給一個方法。然后在你的程序調(diào)用它,編譯沒問題,運行也沒問題?,F(xiàn)在再把A類中這個方法去掉,重新編譯一遍,你再運行你的程序就知道錯誤是怎么回事了。
Exception不用說,我們要自己捕捉。
RuntimeException可以說見的最多了,下面我們說明一下常見的RuntimeException:

NullPointerException:見的最多了,其實很簡單,一般都是在null對象上調(diào)用方法了。
String s=null;
boolean eq=s.equals(""); // NullPointerException
這里你看的非常明白了,為什么一到程序中就暈呢?
public int getNumber(String str){
  if(str.equals("A")) return 1;
   else if(str.equals("B")) return 2;
}
這個方法就有可能拋出NullPointerException,我建議你主動拋出異常,因為代碼一多,你可能又暈了。
public int getNumber(String str){
  if(str==null) throw new NullPointerException("參數(shù)不能為空");
                                   //你是否覺得明白多了
  if(str.equals("A")) return 1;
   else if(str.equals("B")) return 2;
}

NumberFormatException:繼承IllegalArgumentException,字符串轉換為數(shù)字時。
比如int i= Integer.parseInt("ab3");

ArrayIndexOutOfBoundsException:數(shù)組越界
比如 int[] a=new int[3]; int b=a[3];

StringIndexOutOfBoundsException:字符串越界
比如 String s="hello"; char c=s.chatAt(6);

ClassCastException:類型轉換錯誤
比如 Object obj=new Object(); String s=(String)obj;

UnsupportedOperationException:該操作不被支持,如果我們希望不支持這個方法,可以拋出這個異常。既然不支持還要這個干嗎?有可能子類中不想支持父類中有的方法,可以直接拋出這個異常。

ArithmeticException:算術錯誤,典型的就是0作為除數(shù)的時候。

IllegalArgumentException:非法參數(shù),在把字符串轉換成數(shù)字的時候經(jīng)常出現(xiàn)的一個異常,我們可以在自己的程序中好好利用這個異常。

這些異常一看到名字就知道是怎么回事了,其實只要理解了java的異常處理機制,這些都不是問題。

 


   
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
隊列
(2)eques(==)比較
夯實Java基礎(五)——==與equals()
Java 如何重寫對象的 equals 方法和 hashCode 方法
RuntimeException和非RuntimeException的區(qū)別
java小技巧 1
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服