throw new Exception(String Exception)
throw new Exception(String)
throw是明確地拋出異常
MSDN:Exception (String
Exception) 使用指定錯誤信息和對作為此異常原因的內部異常的引用來初始化 Exception 類的新實例
在發現異常以後作一下記錄異常信息然後在拋出異常
讓客戶知道有問題了
以便通知技術人員
因為程序異常以後就崩潰的機會很大
先記錄問題下來再崩潰才行
捕獲異常以後
再拋出一個新的異常
再拋出新異常之前
你可以對前面捕獲的異常做一些操作
比如記錄日志
獲取異常信息然後寫到新異常中
int num = Convert
ToInt
(textBox
Text);
try
{
if (num ==
)
{
throw new ArgumentNullException(
出現零!
);
}
if (num ==
)
{
throw new Exception(
出現壹!
);
}
}
catch (ArgumentNullException ex)
{
MessageBox
Show(ex
Message);
}
catch (Exception ex)
{
MessageBox
Show(ex
Message);
}
catch是用來處理錯誤
就是發生了錯誤時
會執行catch部分
注意:是
發生了錯誤時
但是
在沒有發生錯誤時
你自己想引發錯誤怎麼辦呢? 可以使用throw語句來手工引發一個錯誤
比如上面這段程序
你先畫一個文本框
textBox
一個按鈕button
如果把這段代碼放到button
的click事件裡
如果文本框中文本是
引發一種錯誤
文本框文本是
時又引發另一種錯誤
並可采用不同的處理辦法
我認為catch塊裡通常對附異常有三種辦法
一種辦法是
什麼也不做
catch語句裡只有空語句;另一種辦法是
用messagebox之類的通知異常;還有一種辦法是
throw 一個new的異常
用哪種辦法取決於你希望如何處理這個異常
如果你想直接通知用戶
用messagebox之類的就好了
如果你想由調用這個函數的程序來處理
可以throw一個new
如果你希望你的程序出了
這個
異常還正常運行
就像什麼也沒發生一樣
你可以空語句
總之try catch是有意義和必要的
但你的程序如何catch就是你自己的想法喽
一般來說沒有必要明確的throw出一個異常
異常應該是因為程序本身運行的問題而產生的
但是有兩種情況
測試的時候
比如說你不能真的模擬一個內存耗盡這個異常吧
那麼只好明確地throw一個了
自定義的異常需要明確的throw出來
因為滿足這個條件往往是我們自己制定的規則不滿足了
From:http://tw.wingwit.com/Article/program/net/201311/11283.html