日韩 亚洲一区二_久久vs国产综合色大全_国产精品福利在线_欧美在线一级A片免费观看欧美在线_女同性毛片60分钟

您現(xiàn)在所在的位置:首頁(yè) >學(xué)習(xí)資源 > Unity遊戲/VR/AR入門(mén)教材 > VR開(kāi)發(fā)入門(mén)教程34:控制臺(tái)編程--異常中的Try-Catch

VR開(kāi)發(fā)入門(mén)教程34:控制臺(tái)編程--異常中的Try-Catch

來(lái)源:奇酷教育 發(fā)表於:

捕捉異常捕獲並處理異常try { 接受監(jiān)視的程序塊,在此區(qū)域內(nèi)發(fā)生 的異常,由catch中指定的程序處理;} 不能有其它語句分隔catch(要處理

捕捉異常

捕獲並處理異常
try  {
  //接受監(jiān)視的程序塊,在此區(qū)域內(nèi)發(fā)生
  //的異常,由catch中指定的程序處理;
}
// 不能有其它語句分隔
catch(要處理的異常種類(lèi)和標(biāo)識符) {
  //處理異常;
}catch(要處理的異常種類(lèi)和標(biāo)識符) {
  //處理異常;
}

Tty-Catch語句

try語句
     捕獲例外的第一步就是用try {…}語句指定了一段代碼,該段代碼就是一次捕獲並處理例外的範圍。在執(zhí)行過(guò)程中,該段代碼可能會(huì)產(chǎn)生並拋棄一個(gè)或多個(gè)例外,因此,它後面的catch語句進(jìn)行捕獲時(shí)也要做相應(yīng)的處理。
   如果沒有例外產(chǎn)生,所有的catch代碼段都被略過(guò)不執(zhí)行。
catch語句
     每個(gè)try語句必須伴隨一個(gè)或多個(gè)catch語句,用於捕獲try代碼塊所產(chǎn)生的例外並做相應(yīng)的處理。 catch語句有一個(gè)形式參數(shù),用於指明其所能捕獲得例外類(lèi)型,運(yùn)行時(shí)系統(tǒng)通過(guò)參數(shù)值把被拋棄的例外對(duì)象傳遞給catch語句。
     程序設(shè)計(jì)中要根據(jù)具體的情況來(lái)選擇catch語句的例外處理類(lèi)型,一般應(yīng)該按照try代碼塊中例外可能產(chǎn)生的順序及其真正類(lèi)型進(jìn)行捕獲和處理,儘量避免選擇最一般的類(lèi)型作為catch語句中指定要捕獲的類(lèi)型。
     當(dāng)然也可以用一個(gè)catch語句處理多個(gè)例外類(lèi)型,這時(shí)它的例外類(lèi)型應(yīng)該是這多個(gè)例外類(lèi)型的父類(lèi),但這種方式使得在程序中不能確切判斷例外的具體類(lèi)型。
 
注意事項(xiàng):
1.例外總是由距離產(chǎn)生例外最近的匹配catch代碼段處理
2.如果沒有相應(yīng)的例外處理
     則例外被交給上一層try代碼段進(jìn)行處理
3.例外處理的查找依據(jù)類(lèi)型匹配原則順序進(jìn)行
     第一個(gè)匹配的例外處理被執(zhí)行,當(dāng)例外處理執(zhí)行完畢,程序接著最後一個(gè)catch代碼段後的語句執(zhí)行
4.例外處理的順序影響到例外的處理
     子類(lèi)例外可被父類(lèi)例外處理捕獲
     不要先捕獲父類(lèi)例外,再捕獲子類(lèi)例外
5.如果找不到相應(yīng)的例外處理
     程序將結(jié)束程序執(zhí)行;
6.儘量避免用一般類(lèi)型作為catch中指定要捕獲的類(lèi)型。一般應(yīng)該按照try代碼塊中例外可能產(chǎn)生的順序及其真正類(lèi)型進(jìn)行捕獲和處理。
7.在例外處理中無(wú)法訪(fǎng)問(wèn)try代碼段中聲明的變量。因為此時(shí)try代碼段已經(jīng)退出了,例外處理所需要的任何信息一般都應(yīng)該通過(guò)例外對(duì)象來(lái)傳遞
8.在使用方法時(shí)儘量直接處理該方法可能產(chǎn)生的例外,這樣你的程序就會(huì)更健壯
9.在catch代碼段中產(chǎn)生的例外不是由相同try的後續(xù)catch代碼段處理,而是由包含整個(gè)try-catch結(jié)構(gòu )的上層try代碼段檢測(cè)並處理
10.可以把catch到的例外對(duì)象再次拋出,使上層try-catch結(jié)構(gòu )繼續(xù)處理該例外事件;也可以把例外對(duì)象轉(zhuǎn)換(huàn)為其它例外對(duì)象…
catch (Exception e) { throw e; }
11.try-catch機(jī)制不該被用於流程控制,例外情形應(yīng)該是很稀少的,而不是經(jīng)常性的
12.在catch代碼段中的return語句用於退出方法,而不是返回到例外拋出點(diǎn)(throw point)