命名空間與異常處理

2021-07-09 14:48:19 字數 1247 閱讀 1115

1、命名空間

命名空間是乙個邏輯上的型別組織系統,用來對程式中的型別進行邏輯上的分組,並使定義在同乙個命名空間中的類可以利用命名空間直接相互呼叫。c++有命名空間機制,關鍵字為 namespace。庫或程式中每個c++定義集被封在乙個命名空間中,若其他定義中有相同的名字,則由於在不同的命名空間不會產生命名衝突。

命名空間用來限定名稱的解析和使用範圍解決同名衝突。

四個由大到小的作用域為:檔案、類、函式、復合語句

格式:

namespace 命名空間名

訪問乙個命名空間中成員的三種方法:

a.直接訪問命名空間成員(完全限定名)

例:std::cout<<"hello"<2、異常處理

異常特徵:

a.程式在執行時可能出現的導致程式執行終止的錯誤,注意,程式必須要能正確執行才有機會產生異常;

b.編譯系統檢查出來的錯誤,導致程式執行結果不正確的邏輯錯誤,不屬與異常;

c++ 處理異常方法:不在發生異常的函式中處理異常,而是將異常傳遞到上層函式中處理,若無法處理,則繼續往上傳遞,直到最上層函式,若仍然無法處理,則終止異常程式。

c++異常處理機制:try - throw - catch 模式進行異常處理。

基本處理方法:

a.異常的檢測和處理在不同的**段中進行,一般是在「try」部分檢測異常,在 「catch」部分處理異常;

b.在上面方法是基礎上增加傳遞異常訊息的機制,在c++中通過」物件」傳遞異常。(物件可以是一種簡單的資料,也可以是系統定義或使用者自定義的類的物件)

try - throw - catch 結構要點:

a.try 語句塊和catch 語句塊是乙個整體,兩者之間不能有其他語句;

b.乙個try 語句塊後面可以有多個catch 語句塊,反之則不可;

c.被檢測函式必須在try 語句塊中;

d.catch只檢查所捕獲異常資訊型別,不檢查值;

e.預設catch 語句塊為 catch(…),可以處理任何異常型別,一般置於try-catch 結構的最後;

f.try-catch結構中的throw丟擲異常後,依據就近原則查詢與之匹配的catch語句塊;

g.throw 語句中可以不包括表示式,即

throw; // 不處理異常,請上級處理

h.若丟擲異常而沒有相應的catch語句塊對異常進行處理,那麼系統將調研函式terminate使程式終止。

PHP異常處理以及命名空間

error reporting 設定報何種php錯誤 異常 異常 意料之外的問題 就是所謂的錯誤 1 編寫時出現的錯誤 2 執行時出現的錯誤 異常處理 通常錯誤的提示資訊不回對使用者開放,但是使用者操作時必須明確是否能夠正確的執行 因此我們需要對可能出現問題的內容 做出處理,這個就被稱為異常處理 異...

C 命名空間 預設命名空間與匿名命名空間

2.匿名命名空間 預設命名空間也叫全域性命名空間,所有沒有置於某一具體命名空間下的 即在預設命名空間下,例如func main 函式。include void func void intmain int argc,char ar void func void 需要注意的是 這個就是類似於c語言裡簡單...

應用命名空間與例項命名空間

需求 正確的 應該這麼寫 cms中url.py檔案 cms中view檔案 return httpresponse 首頁 else reverse的寫法 url reverse cms login return redirect url def login request return httpres...