C++day14 學習筆記

來源:互聯網
上載者:User

1、對檔案的分類
  (1)文字檔:每個位元組都是有效可顯示的ASCII碼 ,getline() , >>
  (2)二進位檔案:位元組是連續的,不能用vi , more查看檔案內容,read按位元組數讀取 , write

  100 是整數的100,佔4個位元組
   “100”是字元數組,佔3個位元組

2、異常
   (1)人為錯誤:由於程式員編碼不當
        客觀錯誤:不能避免的錯誤
       
   (2)通過傳回值判斷程式的錯誤情況,對調用者的要求高,要寫if()else()判斷,而且對於傳回值的含義要非常的清楚
        所以C++中提供了異常處理機制

3  異常的工作原理:
    1) 程式員寫的代碼在出現意外的地方自動產生一個異常,然後拋出一個異常對象。
    2) 對象被傳遞到負責異常處理的地方。
            throw 1;  //拋出異常,讓調用者處理
    3) 由負責異常處理的代碼進行統一的異常處理。 try{}catch(){}
    4) 異常對象包含有意外發生的詳細資料。

4  異常代碼的格式:
    拋出: throw 異常名字;
    處理: ppt368

    try {    } catch( 異常1  int) {        處理代碼;    } catch( 異常2  const char* ) {         處理代碼;    }

    程式正常的時候,catch塊什麼也不做,當出現異常的時候,程式從產生異常的地方跳到catch塊中
    異常處理完畢之後,不會回到發生異常的地方。
    用try{}catch(){}處理異常是一種強制手段,出現異常,進程結束
    catch()中的異常類型如果與拋出的異常類型不一致,則捕獲不到

5  每個catch只能處理一種類型的異常,catch塊會依次執行。

6  catch(...){
        處理代碼;
    }
    可以捕獲任意類型的異常,但是它不能判斷是什麼類型的異常,一般把它放在最後一個catch塊。
    但這種捕獲沒有針對性

7 異常的傳播特性:
   層級傳播:異常會逐層拋出
   產生異常之後,程式立即跳轉到最近的一層捕獲異常的語句,如果當前沒有捕獲語句,或者沒有匹配的catch塊,那麼程式會跳出當前的函數回到調用的地方。
   如果向上跳到了main函數,還是沒有處理異常,程式就會終止進程。

8、封裝異常(1)使用字串描述異常
           (2)制定異常號 error No.
           (3)disp();            
   當捕獲的異常存在繼承關係的時候,要先捕獲子類異常,再捕獲父類異常              
  
9、內聯類
   把一個類寫到另一個類的內部
   異常一般會做成內聯類 A::exp ,靠首碼制定自己的命名空間  
   內聯類,private修飾只能在本來中使用,對外是隱藏的,只有public 修飾的才能在外面使用
  
10、異常總結
   (1)檢查錯誤的一種手段
   (2)可以用單一資料型別定義,還可以自訂類型
   (3)產生 throw e; 異常對象
        處理 try{}catch(異常類型){}  --- 異常類型要與throw拋出的一樣
   (4)傳播

11、銀行項目 --- 物件導向
    需求分析的時候,要畫用力圖
    Biz Object 完成商務邏輯
    Value Object 操作資料(Account)
   
    Menu 收集使用者資訊,使用者選擇的業務
    Biz 針對某項業務收集資訊
    DA  提供檔案訪問服務
    Account 儲存資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.