老師代碼中的throw new DrunkException("喝車別開酒!");是什么意思
老師代碼中的throw new DrunkException("喝車別開酒!");是什么意思 為什么要用new
還有RuntimeException newExc = new RuntimeException(e)中的e怎么理解
老師代碼中的throw new DrunkException("喝車別開酒!");是什么意思 為什么要用new
還有RuntimeException newExc = new RuntimeException(e)中的e怎么理解
2015-12-27
舉報
2016-01-03
一個問題一個問題的來看:
關于throw new DrunkException("喝車別開酒!");
new?DrunkException("喝車別開酒!");? //初始化函數構造器--》TDrunkException異常對象,message為"喝車別開酒!" throw?new?DrunkException("喝車別開酒!"); //throw?拋出異常的動作,拋出DrunkException異常對象實例關于RuntimeException newExc = new RuntimeException(e)中的e怎么理解
你代碼看錯了,你可以回去再看清楚。
RuntimeException?newExc?=?new?RuntimeException("test02中runtimeException中的catch塊"); newExc.initCause(e);?? /*initCause(?throwable?cause)?即參數為可拋出異常的對象,DrunkException?e繼承Exception父類,即也屬于throwable類 如果沒有.initCause(?throwable?cause),即沒有定義causeby上一層的異常---異常鏈,printStackTrace的時候就不能打印cause?by(保留原始異常作用) */ throw?newExc;?//拋出異常newExc我在異常鏈的章節下po出了老師的完整代碼加注釋,你有興趣可以看看。希望幫到你
2015-12-27
拋出一個新的異常,當然也要用new 去實例化一個對象,畢竟異常也是對象啊。2.e是作為一個參數傳遞到RuntimeException()方法中,把e中信息傳遞