unity學習之異常,修飾符

2021-07-30 04:18:17 字數 3899 閱讀 2727

歡迎來到unity學習教育專區,這裡有豐富的unity資源,相信一定可以給你帶來收穫

常量

使用 const 

關鍵字來宣告某個常量欄位或常量區域性變數。 常量欄位和常量區域性變數不是變數並且不能修改。 

常量可以為數字、布林值、字串或 null 

引用。 不要建立常量來表示你需要隨時更改的資訊。

const float pi=3.14f;

pi=3.2f;//錯誤

常量一般都大寫,也可以用靜態來修飾,呼叫時可以直接用類名.常量的形式來用。

唯讀字段

當欄位宣告中包括readonly

修飾符時,該欄位成為唯讀字段。只能在宣告唯讀欄位的同時賦初值。其他任何時候都不允許為唯讀字段賦值。

如果在類定義中顯式新增乙個建構函式,可以在建構函式中改變唯讀欄位的值。

常量:定義時,必須給常量賦值,不能再次賦值;

唯讀字段:定義時,必須給唯讀字段賦值,可以在建構函式內再次賦值(只能在建構函式內)。

修飾符

c#共有五種訪問修飾符:

public

、private

、protected

、internal

、protected internal。

訪問範圍由大到小:public--protected internal--internal--protected--private

異常

1、c# 語言的異常處理功能可幫助您處理程式執行時出現的任何意外或異常情況。 

2、異常處理使用 try

、catch 

和 finally 

關鍵字嘗試某些操作,以處理失敗情況,儘管這些操作有可能失敗,但如果您確定需要這樣做,且希望在事後清理資源,就可以嘗試這樣做。 

3、異常是使用 throw 

關鍵字建立的。

異常(try...catch)

對於給定的 try 

子句,可以有乙個以上的 

catch 

子句,每個 

catch 

捕捉不同的異常型別。匯出型別必須始終列在任何基型別之前。

異常

(throw)

throw語句用於發出在程式執行期間出現異常情況的訊號。

格式:throw  表示式;

(1)其中表示式必須表示乙個exception類或他的派生型別,也可以在throw語句後沒有表示式,表示將異常再次丟擲

(2)如果使用

throw

丟擲異常,沒有相應的

catch

捕獲異常,出現異常時會中斷程式執行。

(3)使用throw

語出丟擲異常時,盡量不出丟擲基類異常。因為基類異常物件包含的錯誤很多,無法判斷是發生了什麼型別的異常。

異常(finally)

finally 構造用於指定即使發生異常也始終會執行的**。

finally 

通常用於清理發生異常時所產生的內容。

如果沒有finally,這一級的資源就不好釋放了

異常(exception)

當不確定有什麼異常時,可以直接用exception

異常具有以下特點:

1、各種型別的異常最終都是由

system.exception 

派生而來。

2、在可能引發異常的語句周圍使用 

try 塊。

3、一旦 

try 

塊中發生異常,控制流將跳轉到第乙個關聯的異常處理程

序在 c# 

中,catch 

關鍵字用於定義異常處理程式。

4、程式可以使用 

throw 

關鍵字顯式地引發異常。

5、即使發生異常也會執行 

finally 

塊中的**。 使用 

finally 

塊釋放資

源,例如,關閉在 

try 

塊中開啟的任何流或檔案。

c#描述異常處理語句try、catch、finally執行時的相互關係

(1)try裡面是執行**,其中的**"可能"產生異常. 

(2)catch是對產生異常後的處理**,可以

丟擲異常

,也可以顯示異常,也可以彈出某中提示,總之

catch

裡是任何**都行,如果你知道這鐘異常產生的原因,可以列印此原因,也可以對此原因進行相應的處理,同時可以為多個catch,每個                  catch(異常型別) 用多個catch來捕獲多種異常,也可以用所有異常的父類來捕獲(這樣就不用寫多個catchl了). 假如try中產生了異常,那麼try從產生異常開始到try結束的這段**將不會執行,轉而去執行catch. 

(3)finally是try執行完後執行(沒發生異常)或者在catch後執行(發生了異常),也就是說finally無論怎麼樣,都會執行. 

3個連起來就好像口語中的

(try)假如。。。

(catch)就。。。

(finally)最後。。。這樣比較好記。

www.myexception.cn  網友分享於:2013-02-03  瀏覽:31次

在catch塊中throw new exception(string,exception)有什麼意義? 如題

------解決方案--------------------

throw new exception(string,exception) 

throw是明確地丟擲異常 

msdn: 

exception (string, exception) 使用指定錯誤資訊和對作為此異常原因的內部異常的引用來初始化 exception 類的新例項。 

------解決方案--------------------

如果要現實: 

在發現異常以後作一下記錄異常資訊然後在丟擲異常,讓客戶知道有問題了,以便通知技術人員。 

你見到的那種方式就有必要了,因為程式異常以後就崩潰的機會很大,先記錄問題下來再崩潰才行。 

------解決方案--------------------

捕獲異常以後,再丟擲乙個新的異常。 

再拋出新異常之前,你可以對前面捕獲的異常做一些操作,比如記錄日誌、獲取異常資訊然後寫到新異常中 

------解決方案--------------------

我認為catch塊裡通常對附異常有三種辦法 

一種辦法是,什麼也不做,catch語句裡只有空語句 

另一種辦法是,用messagebox之類的通知異常 

還有一種辦法是,throw 乙個new的異常。 

用哪種辦法取決於你希望如何處理這個異常。 

如果你想直接通知使用者,用messagebox之類的就好了 

如果你想由呼叫這個函式的程式來處理,可以throw乙個new 

如果你希望你的程式出了「這個」異常還正常執行,就像什麼也沒發生一樣,你可以空語句。 

總之try catch是有意義和必要的,但你的程式如何catch就是你自己的想法嘍。 

------解決方案--------------------

int num = convert.toint32(textbox1.text); 

try   

if (num == 1)   

} catch (argumentnullexception ex) // 處理第一種錯誤,你看argumentnullexception是不是和上面批配?  

catch (exception ex) // 處理第二種錯誤。 

Unity異常處理及修飾符,常量

今天學習了修飾符的範圍,常量的命名,唯讀字段還有異常的處理及應用 修飾符的範圍 範圍從大到小 public 公有訪問。不受任何限制 protected internal 內部保護訪問。只限於本專案或是子類訪問,其他不能訪問 internal 內部訪問。只限於本專案內訪問,其他不能訪問 protect...

學習C 修飾符 類修飾符和成員修飾符

c 修飾符之類修飾符 public internal partial abstract sealed static c 修飾符之成員修飾符 public protected private internal sealed abstract virtual override readonly cons...

修飾符 許可權修飾符

四種形式許可權修飾符的訪問情況 publicprotected不寫private 同乙個類中 四種都可以 同一包中的不同類 除了private剩下都可以 不同包下的子類 public protected 可以 不同包下的不同類 只有public可以 許可權修飾符 public protected 預...