freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ja15-08第9章異常處理解析(編輯修改稿)

2024-09-07 12:19 本頁面
 

【文章內(nèi)容簡介】 零( a2為 0 )的程序 增加異常捕獲語句 24 do { try { ( “請輸入被除數(shù) : )。 int one = ()。 ( “請輸入除數(shù) : )。 int two = ()。 int result = divide( one, two )。 ( \nResult: %d / %d = %d\n, one, two, result )。 continueLoop = false。 // input successful。 end looping } catch ( InputMismatchException inputMismatchException ) { ( \nException: %s\n, inputMismatchException )。 ()。 // discard input so user can try again ( “必須輸入整數(shù),請重新輸入: .\n )。 } catch ( ArithmeticException arithmeticException ) { ( \nException: %s\n, arithmeticException )。 ( “除數(shù)為 0,請重新輸入 .\n )。 } } while ( continueLoop )。 處理多個異常(多個 catch塊) 多異常處理 通過一個 try塊后面定義若干 catch塊來實(shí)現(xiàn)的,每個 catch塊用來接收和處理一種特定的異常對象。 若 try塊產(chǎn)生的異常對象被第一個 catch塊所接收,則程序的流程將直接跳轉(zhuǎn)到這個 catch語句塊中, try塊中尚未執(zhí)行的語句和其他的 catch塊將被忽略。 若 try塊產(chǎn)生的異常對象與第一個 catch塊不匹配,系統(tǒng)將自動轉(zhuǎn)到第二個 catch塊迚行匹配 , 依次類推,直到找到一個可以接收該異常對象的 catch塊,即完成流程的跳轉(zhuǎn)。 25 26 ? 異??偸怯删嚯x產(chǎn)生異常最近的匹配 catch代碼段處理 ? 如果沒有相應(yīng)的異常處理, ? 則異常被交給上一層 try代碼段進(jìn)行處理 ? 異常處理的查找依據(jù)類型匹配原則順序進(jìn)行 ? 第一個匹配的異常處理被執(zhí)行,當(dāng)異常處理執(zhí)行完畢,程序接著最后一個 catch代碼段后的語句執(zhí)行 ? 異常處理的順序影響到異常的處理 ? 子類異??杀桓割惍惓L幚聿东@ ? 不要先捕獲父類異常,再捕獲子類異常 ? 如果找不到相應(yīng)的異常處理 ? 非 GUI程序?qū)⒔Y(jié)束程序執(zhí)行; ? Applet或 GUI程序則回復(fù)到事件處理狀態(tài) ? catch(Exception e) ? 捕獲所有 Exception ? catch(Throwable t) ? 捕獲 Exception和 Error catch語句塊 (1) 27 ? 盡量避免用一般類型作為 catch中指定要捕獲的類型。 ? 一般應(yīng)該按照 try代碼塊中異??赡墚a(chǎn)生的順序及其真正類型進(jìn)行捕獲和處理, ? 在異常處理中無法訪問 try代碼段中聲明的變量 ? 因?yàn)榇藭r try代碼段已經(jīng)退出了,異常處理所需要的任何信息一般都應(yīng)該通過異常對象來傳遞 ? 在使用方法時盡量直接處理該方法可能產(chǎn)生的異常 ? 這樣你的程序就會更健壯 ? 在使用庫方法之前,應(yīng)該先仔細(xì)閱讀說明文檔 ? 那里會介紹方法可能產(chǎn)生的異常以及異常產(chǎn)生的條件 ? 在使用各種異常類之前也應(yīng)該先仔細(xì)閱讀說明文檔 ? 那里會介紹異常的具體含義及異常產(chǎn)生的條件 catch語句塊 (2) 28 ? 在 catch代碼段中產(chǎn)生的異常不是由相同 try的后續(xù) catch代碼段處理,而是由包含整個 trycatch結(jié)構(gòu)的上層 try代碼段檢測并處理 ? 可以把 catch到的異常對象 再次拋出 ,使上層 trycatch結(jié)構(gòu)繼續(xù)處理該異常事件;也可以把異常對象轉(zhuǎn)換為其它異常對象 … ? catch (Exception e) { throw e。 } ? trycatch機(jī)制不該被用于流程控制,異常情形應(yīng)該是很稀少的,而不是經(jīng)常性的 ? 在 catch代碼段中的 return語句用于退出方法,而不是返回到異常拋出點(diǎn)( throw point) catch語句塊 (3) 29 public class ExceptionDemo { public static void main(String args[]) { try { FileInputStream fis = new FileInputStream()。 int b。 while( (b=())!=1 ) { (b)。 } ()。 }catch(FileNotFoundException e){ … }catch(IOException e){ … } } } }catch(IOException e){ … }catch(FileNotFoundException e){ … //永遠(yuǎn)不會被執(zhí)行 } 拋出異常 (throw語句 ) 30 聲明異常首先必須生成異常。前面所提到的異?;蛘呤怯?Java虛擬機(jī)生成,或者是由 Java類庫中的某些類生成。事實(shí)上,我們在程序中也可以生成自己的異常對象,也即是異常可以 不是出錯產(chǎn)生,而是人為地拋出 。 不論那種方式,生成異常對象都
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1