97超碰碰碰_91热播_91国产免费视频_91视频合集_国产精品白丝jk白祙_国产精品久免费的黄网站

您現(xiàn)在所在的位置:首頁 >學習資源 > Unity游戲/VR/AR入門教材 > VR開發(fā)入門教程33:控制臺編程--異常

VR開發(fā)入門教程33:控制臺編程--異常

來源:奇酷教育 發(fā)表于:

異常實際上是程序中錯誤導致中斷了正常的指令流的一種事件 也叫例外機制。我們以三種對代碼不一樣的處理方式來看一看異常的優(yōu)點:沒有處理

異常實際上是程序中錯誤導致中斷了正常的指令流的一種事件.也叫例外機制。

我們以三種對代碼不一樣的處理方式來看一看異常的優(yōu)點:
沒有處理錯誤的程序:
 read-file {
     openTheFile;
     determine its size;
     allocate that much memory;
     closeTheFile;  
}
以常規(guī)方法處理錯誤
openFiles;
if (theFilesOpen) {
  determine the lenth of the file;
  if (gotTheFileLength){
    allocate that much memory;
    if (gotEnoughMemory) {
       read the file into memory;
       if (readFailed) errorCode=-1;
       else errorCode=1;
    }else  errorCode=-3;
  }else errorCode=-5 ;
 }else errorCode=-5;
 
觀察前面的程序你會發(fā)現(xiàn)大部分精力花在出錯處理上了.
只把能夠想到的錯誤考慮到,對以外的情況無法處理
程序可讀性差
出錯返回信息量太少
 
用異常的形式處理錯誤
read-File;
{ try {
    openTheFile;
    determine its size;
    allocate that much memory;
    closeTheFile;
 }catch(fileopenFailed) { dosomething; }
  catch(sizeDetermineFailed) {dosomething;}
  catch(memoryAllocateFailed){ dosomething;}
  catch(readFailed){ dosomething;}
  catch(fileCloseFailed) { dosomething; }
  catch(Exception) {dosomething;}  //其它未考慮到的錯誤
 
綜合上面的說法和傳統(tǒng)的方法比較異常的優(yōu)點:
1.把錯誤代碼從常規(guī)代碼中分離出來
2.把錯誤傳播給調(diào)用堆棧
3. 按錯誤類型和錯誤差別分組
4. 系統(tǒng)提供了對于一些無法預測的錯誤的捕獲和處理
5. 克服了傳統(tǒng)方法的錯誤信息有限的問題

異常的使用場景

什么情況下使用例外機制?
1.當方法因為自身無法控制的原因而不能完成其任務文件不存在,網(wǎng)絡連接無法建立……
2.處理在方法、類庫、類中拋出的異常,如FileInputStream.read產(chǎn)生IOException
3.在大的項目中采用統(tǒng)一的方式處理例外時
     如編寫一個文字處理器
4.例外應該是不經(jīng)常發(fā)生但卻可能發(fā)生的故障
     一定發(fā)生的事件不應該用例外機制來處理
5.例外處理用于使系統(tǒng)從故障中恢復
     提示信息/不產(chǎn)生無效的結(jié)果/釋放資源
 
注意事項:
1.不同的例外處理策略
     關鍵性應用(處理所有例外)
     實驗軟件(可以忽略許多例外)
2.終止程序會導致資源泄漏,利用例外處理釋放資源
3.盡可能近地處理例外,這樣程序清晰易讀
4.能在局部處理的錯誤不要使用例外機制,例外機制的處理比正常處理效率低。
示例:
using System;
class ExcepTest
{  
   public static void Main(String[] args)
   {  
       int b=0;
       int a;      
       try {
         a=5/b;
       }
       catch(ArithmeticException e)
       {   
         Console.WriteLine("divided by 0");
       }  
   }
}
主站蜘蛛池模板: 国产精品 日韩 | 九九99香蕉在线视频网站 | 国产福利麻豆精品一区 | 免费国产在线视频 | 色婷婷狠狠五月综合天色拍 | 污污内射久久一区二区欧美日韩 | 一级片视频免费观看 | 国产成 人 综合 亚洲网 | 成年人在线电影 | 少妇久久久久久被弄到高潮 | 午夜一区欧美二区高清三区 | 亚洲av无码专区亚洲av | 色翁荡熄又大又硬又粗又视频 | 亚洲风情亚aⅴ在线发布 | 99久热成人精品视频 | 国产精品国产三级国产an不卡 | 国产精品欧美日韩一区二区 | 欧美性猛交一区二区三区精品 | 亚洲av无码一区二区三区人妖 | 亚洲免费色 | 亚洲精品第一国产综合野 | 成人在线免费观看视频 | 伊人亚洲综合网 | 六六影院午夜伦理 | 国产亚洲一区二区三区在线观看 | 图片综合区 | 伊人久久精品无码二区麻豆 | 午夜无码一区二区三区在线观看 | 亚洲精品无码不卡在线播he | 日本理伦片午夜理伦片 | 成人男女啪啪免费观看网站 | 精品午夜一区二区三区在线观看 | 人妻夜夜爽天天爽三区丁香花 | 黄色成人在线观看 | 欧美丰满熟妇bbbbbb百度 | 亚洲国产aⅴ成人精品无吗 亚洲国产av高清无码 | 欧美色婷婷| 亚洲熟女乱色综合亚洲小说 | 最近的最新的中文字幕视频 | 久久久久人妻精品一区三寸蜜桃 | 日本高清无卡码一区二区久久 |