前面扯過一篇淺談面向對象與女娲造人
在我的理解中
在java的異常結構中有一個頂級父類叫做Throwable
Error
Exception
為了便於初學者能更好的理解異常機制
可以這樣理解Error
兩個例子都有一個共同點
對於這種根本無法解決或無法隱忍的情況就是所謂的Error
而在java語言中
雖然你對於無法處理這一情況很不甘心
再看看Exception
把致命問題Error排除了(她是個好女孩)
但是
兩個人相處
在這裡
為什麼是總稱呢?因為大腦產生的情緒(異常)非常復雜
我們判斷一個人的情緒是靠經驗
在java裡
你看
Throwable下的兩個已知子類
Exception下的各個細分的異常
既然我們了解了java的異常體系
也就是在戀愛過程中
那麼如何操作呢?
很簡單
相信你一定知道基本的除數為
為了避免針對性的代碼造成不好理解
實例
//女友為什麼是public?因為誰都能追
public class GirlFriend {
//還記得嗎?你們的故事就是從這開始的
public static void main(String[] args) {
//我們用try包裹的代碼來判斷和測試她不穩定的壞情緒
try {
她小情緒的反映
她小情緒的行為
她小情緒的眼神
……
//在實際中則是Exception e
//為什麼有個e對象
//所謂的catch就是捉到她壞情緒的原因
} catch (工作累了異常 e) {
//打印異常信息
//實際中我們要結合場景來處理
e
}
}
}
你看
實例
try {
} catch (工作累了異常 e) {
捶背
} catch (口渴了異常 e) {
倒水
} catch (被鄙視了異常 e) {
安慰
//這裡的Exception是所有壞情緒的父類
} catch (Exception e) {
各種安慰
各種獻殷勤
各種傾聽
}
為什麼所有壞情緒對象(Exception)要放到最後捕捉呢?
很好理解
好吧
下面我們來看看一個很簡單
實例
try {
} catch (Exception e) {
//Todo
} finally {
不管你特麼心情好不好
反正都是老子洗碗!!!
靠……
}
看
是男人就應該默默的承擔
至此
新手可能會問
別急
對於throws在java中的意思是
就比如說她們受了一頓悶氣
把所有的火都對你發
自己可以處理卻不處理
實例
public void 降低憤怒() throws 憤怒的異常 {
/*你看
但是卻沒有
}
本來在降低憤怒()這一方法中可以try
其實
那麼
實例
public void throwMethod() throws Exception {
throw new 發嗲了異常(
}
這裡在throwMethod方法中我們人為拋出了一個發嗲了異常
至於catch部分的內容
再來
它們明明拋出了異常
這叫做RuntimeException
有時候你的女友亂發脾氣
public class CustomException extends Exception {
public CustomException(String msg) {
super(msg);
}
}
如果想測試的話
然後你懂的
很簡單
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26332.html