成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談異常與戀愛

開發(fā) 開發(fā)工具
兩個人相處,難免會產(chǎn)生一些不好的情緒,一旦你沒能處理好,那么兩個人的感情還是over(程序無法繼續(xù)執(zhí)行)。在這里,Exception就是那些你要處理的情緒問題的總稱。

在我的理解中,所謂的異常機制也就是讓程序在出現(xiàn)某些錯誤的情況下還能繼續(xù)執(zhí)行完。如同兩個人在戀愛,雖然出現(xiàn)各種問題,但還是希望將來能繼續(xù)走下去。在java的異常結(jié)構(gòu)中有一個***父類叫做Throwable,這個父類具有兩個子類,分別是:

Error

Exception

為了便于初學(xué)者能更好的理解異常機制,我姑且先列舉一些不恰當(dāng)?shù)睦樱?/p>

可以這樣理解Error

1.你某天很舒服的坐在沙發(fā)上看電視,你爸突然把你拉到書房里語重心長的對你說:“你和她不能在一起,她其實是你失散多年的親妹妹”(神馬感覺,心里一萬只**馬在奔跑對不對?)

2.終于能在一起了,突然在她房間抽屜發(fā)現(xiàn)當(dāng)年變性手術(shù)的費用單(這次不只一萬只了)。

兩個例子都有一個共同點,就是你不會和她繼續(xù)在一起了,你們的結(jié)合會是一種Error(錯誤),是硬傷!!!

對于這種根本無法解決或無法隱忍的情況就是所謂的Error,懂了吧。

而在java語言中,Error則是代表硬件,jvm或代碼本身存在問題。

雖然你對于無法處理這一情況很不甘心,但你還是會一遍遍檢查配置和你的代碼,以期望能夠解決。

再看看Exception

把致命問題Error排除了(她是個好女孩),現(xiàn)在你和她能夠在一起(程序能夠繼續(xù)執(zhí)行)又多了一份希望。

但是,你仍然不能掉以輕心。

兩個人相處,難免會產(chǎn)生一些不好的情緒,一旦你沒能處理好,那么兩個人的感情還是over(程序無法繼續(xù)執(zhí)行)。

在這里,Exception就是那些你要處理的情緒問題的總稱。

為什么是總稱呢?因為大腦產(chǎn)生的情緒(異常)非常復(fù)雜,還可細分為各種情緒(糾結(jié)體)……

我們判斷一個人的情緒是靠經(jīng)驗,比如產(chǎn)生這種壞情緒后,她有哪些行為和反映。

在java里,Exception是一個父類,它還有很多的子類(也就是各種壞情緒的封裝)。

你看,就這么簡單,我們就理解了整個java的異常體系。

Throwable下的兩個已知子類,Error和Exception

Exception下的各個細分的異常

既然我們了解了java的異常體系,也知道了Error是無法處理的,那么我們能做的就是針對Exception的操作了。

也就是在戀愛過程中,我們對她壞情緒的處理,好讓兩個人的感情能夠繼續(xù)……

那么如何操作呢?

很簡單,你只需要進行判斷和測試,確認她的行為是否符合你經(jīng)驗中她這一壞情緒的反映,然后做出處理就行了。

相信你一定知道基本的除數(shù)為0異常,這里就不再寫了,任何一本基礎(chǔ)書都有。

為了避免針對性的代碼造成不好理解,我們下面都寫偽碼。

實例1:典型的try...catch結(jié)構(gòu)

  1. //女友為什么是public?因為誰都能追   
  2. public class GirlFriend {   
  3.     //還記得嗎?你們的故事就是從這開始的   
  4.     public static void main(String[] args) {   
  5.     //我們用try包裹的代碼來判斷和測試她不穩(wěn)定的壞情緒   
  6.     try {   
  7.         她小情緒的反映   
  8.         她小情緒的行為   
  9.         她小情緒的眼神   
  10.         ……      
  11.     //在實際中則是Exception e,你肯定知道   
  12.     //為什么有個e對象,都說了異常也是一種類   
  13.     //所謂的catch就是捉到她壞情緒的原因,并進行處理    
  14.     } catch (工作累了異常 e) {   
  15.         //打印異常信息,你可以認為是她在訴說原因   
  16.         //實際中我們要結(jié)合場景來處理   
  17.         e.printStackTrace();   
  18.     }   
  19.     }   

你看,這樣我們就能有針對性的處理單個異常了,在try里面測試

catch里面進行處理

當(dāng)然,有時候一個人情緒不好是由于多種原因,那么你只能小心翼翼的根據(jù)經(jīng)驗

來捕捉更多的異常(壞情緒的封裝對象),此時你也就需要多條catch語句了

實例2:復(fù)合的catch語句

  1. try {   
  2.     ......   
  3. catch (工作累了異常 e) {   
  4.     捶背    
  5. catch (口渴了異常 e) {   
  6.     倒水   
  7. catch (被鄙視了異常 e) {   
  8.     安慰   
  9. //這里的Exception是所有壞情緒的父類   
  10. catch (Exception e) {   
  11.     各種安慰   
  12.     各種獻殷勤   
  13.     各種傾聽   

為什么所有壞情緒對象(Exception)要放到***捕捉呢?

很好理解,當(dāng)你在無法確定她到底是累了,渴了還是怎么地產(chǎn)生的壞情緒時。

你便可以認為,反正她就是很煩,想鬧脾氣,你得處理!!!(不然就over)。

好吧,你看到了,不論是討好女友還是處理異常,都是一件相當(dāng)不爽的事。

下面我們來看看一個很簡單,很樸實的關(guān)鍵字finally。

實例3:finally語句的使用

  1. try {   
  2.     ......        
  3. catch (Exception e) {   
  4.     //Todo    
  5. finally {   
  6.     不管你特么心情好不好   
  7.     反正都是老子洗碗!!!   
  8.     靠……   

看,finally好用吧,你可以這樣理解。

是男人就應(yīng)該默默的承擔(dān),不管有沒有異常,我都執(zhí)行。

在java中,finally最常用的場合就是***關(guān)閉io流對象了,可見我寫的另一篇筆記

至此,我們已經(jīng)講完了java異常的基礎(chǔ)操作。

新手可能會問,咦?throws和throw兩大關(guān)鍵字去哪兒了。

別急,咋慢慢來,去端杯茶緩緩……

對于throws在java中的意思是,讓調(diào)用處去處理這一異常。

就比如說她們受了一頓悶氣,本來你不說還沒什么,你一說她們就忍不住了。

把所有的火都對你發(fā),誰讓你要去惹她們的?

自己可以處理卻不處理,俺們就叫做throws,一般在方法后面使用。

實例4:throws的用法

  1. public void 降低憤怒() throws 憤怒的異常 {   
  2.         
  3.     /*你看,在這里明明可以try...catch的   
  4.     但是卻沒有,把異常給拋到了調(diào)用處*/ 
  5.         
  6.     ......     //這是處理方法,此處省略N行代碼   
  7.         

本來在降低憤怒()這一方法中可以try...catch的,但是不想,要留給招惹它的人。

那就用throws吧,誰惹我誰遭殃。

其實,女人是一種很奇怪的動物,她們有時候會假裝自己生氣。

從而達到讓你哄的目的,典型的欠try有木有……

那么,這個時候throw就發(fā)揮了作用。

在java中,throw表示人為的拋出一個異常。

實例5:throw的用法

  1. public void throwMethod() throws Exception {    
  2.     throw new 發(fā)嗲了異常("干爹,你來~~")       

這里在throwMethod方法中我們?nèi)藶閽伋隽艘粋€發(fā)嗲了異常,然后給調(diào)用處try。

至于catch部分的內(nèi)容,你們自己看著辦……(尼瑪,我才19怎么就那么邪惡了)。

再來,我們在翻看API文檔的時候也許會發(fā)現(xiàn)類似下面的方法。

它們明明拋出了異常,而我們在使用中卻沒有try,這是怎么回事?

這叫做RuntimeException,也就是運行時異常,它們可try可不try。

因為一旦產(chǎn)生這種異常就說明你的代碼可能存在問題,比如數(shù)組下標(biāo)越界等。

此時,try...catch意義不大,檢查和修改源碼才是***選擇。

***來說說自定義異常,自定義異常一般用的不是很多,可以這樣理解:

有時候你的女友亂發(fā)脾氣,完全不按套路出牌,令你不知所措,以前的經(jīng)驗在此也似乎失效。

那么,此時我們就可以定義一個自定義異常來描述這種情況。

  1. public class CustomException extends Exception {   
  2.     public CustomException(String msg) {   
  3.         super(msg);   
  4.     }   

如果想測試的話,可以throw一個新的CustomException對象,構(gòu)造方法中加入信息就可以了。

然后你懂的,try...catch處理。

很簡單,就沒必要演示了。

原文鏈接:http://www.cnblogs.com/nerxious/archive/2012/12/18/2823617.html

責(zé)任編輯:張偉 來源: Nerxious
相關(guān)推薦

2012-12-21 10:15:35

2011-07-05 10:20:38

java

2018-10-16 15:17:07

Python求婚匹配

2015-09-01 10:58:37

戀愛運營騰訊

2009-07-14 13:49:29

原型

2010-08-01 16:06:11

Android開發(fā)

2012-02-14 09:43:08

2009-06-12 18:54:46

異常程序開發(fā)

2013-01-08 15:11:19

OpenStackKVM

2021-07-14 13:12:51

2009-03-11 15:30:05

evalwithJavascript

2011-04-18 00:00:00

SQLPLSQL

2018-02-23 14:44:41

負載均衡技術(shù)分類

2009-07-10 13:09:53

.Net與Java S

2011-02-16 09:48:04

Hashtable

2013-11-12 14:11:10

2009-09-21 17:30:25

組件復(fù)用服務(wù)復(fù)用

2009-06-26 16:09:53

2010-09-13 14:34:55

2009-07-08 09:32:25

Java設(shè)計模式
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产成人jvid在线播放 | ww亚洲ww亚在线观看 | 奇米四色在线观看 | 亚洲欧美在线一区 | 午夜视频在线免费观看 | 色婷婷国产精品综合在线观看 | 中文字幕精品一区二区三区精品 | 中文精品视频 | 中文字幕免费在线 | 精品网站999 | 成人av一区二区亚洲精 | 国产美女一区二区 | 特级丰满少妇一级aaaa爱毛片 | 暖暖成人免费视频 | 中文字幕在线人 | 在线成人 | 亚洲一区视频在线 | 久久综合久久综合久久综合 | 欧美精品在线免费观看 | 超碰最新在线 | 日韩精品一区二区三区在线播放 | 一区二区三区在线观看视频 | 超级黄色一级片 | 国产一区二区三区在线视频 | 精品日韩 | 亚洲永久在线 | 日韩视频在线观看中文字幕 | av在线一区二区三区 | 欧美日韩中文字幕 | 男女视频免费 | 欧美日韩精品一区 | 在线视频日韩 | 在线看h | www.亚洲国产精品 | 精品免费国产一区二区三区四区 | 亚洲综合网站 | 一本大道久久a久久精二百 欧洲一区二区三区 | 日韩免费视频一区二区 | 欧美日韩国产一区二区三区 | 国产精品一区二区在线 | 亚洲日韩中文字幕一区 |