c# throw的用法
c# throw的用法
c#中throw到底是干什么用的,它是捕獲異常,然后彈出異常對話框嗎?像MessageBox.Show一樣嗎?它可以和try,catch連在一起使用嗎?如下例:
if (e.ClickedItem == print)
{
i = 0;
try{
if (((Form2)ActiveMdiChild).txtMain.Text.Length < 1)
return;
this.printDocument1.Print();
}
catch (Exception err)
{
throw new Exception("打印發(fā)生錯誤"+err.Message);
//MessageBox.Show("打印發(fā)生錯誤",err.Message,MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
以上代碼,編譯可以通過,但是運行程序出現(xiàn)異常的時候,沒有彈出異常對話框,而是程序崩潰了,出現(xiàn)錯誤是:示處理exception
打印發(fā)生錯誤未將對象引用設(shè)置到對象的實例.
是不是代碼中的throw用法錯了,不能這么用,那到底應(yīng)該怎么用.
額,那怎么改?
c#中throw到底是干什么用的,它是捕獲異常,然后彈出異常對話框嗎?像MessageBox.Show一樣嗎?它可以和try,catch連在一起使用嗎?如下例:
if (e.ClickedItem == print)
{
i = 0;
try{
if (((Form2)ActiveMdiChild).txtMain.Text.Length < 1)
return;
this.printDocument1.Print();
}
catch (Exception err)
{
throw new Exception("打印發(fā)生錯誤"+err.Message);
//MessageBox.Show("打印發(fā)生錯誤",err.Message,MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
以上代碼,編譯可以通過,但是運行程序出現(xiàn)異常的時候,沒有彈出異常對話框,而是程序崩潰了,出現(xiàn)錯誤是:示處理exception
打印發(fā)生錯誤未將對象引用設(shè)置到對象的實例.
是不是代碼中的throw用法錯了,不能這么用,那到底應(yīng)該怎么用.
額,那怎么改?
其他人氣:691 ℃時間:2020-03-24 16:00:36
優(yōu)質(zhì)解答
new Exception是用來人為的制造一個異常.而throw 是把這個異常拋出.這樣我們就可以定義自己想要的異常信息了.但要注意的是,拋出了異常就一定要處理,不處理的話系統(tǒng)就崩了.你這里用得不合適.據(jù)個例子,異常拋出可以這...
我來回答
類似推薦
- throw的用法(C#/.NET)
- throw 用法
- throw和throws的用法
- throw to的用法
- throw a party是開派對的意思,有沒有throw a meeting的用法?
- 'but they're for next Wednesday's performance.be
- 等比列數(shù)公式的問題!S=a1(1-q^n)/(1-q)
- 什么對什么(像天對地,雨對風(fēng),山花對海樹,赤日對蒼穹,大陸對長空)?對對子.急呀
- 在等高線圖中,數(shù)字往上越大,是山頂.往上越小是盆地.請說明理由!
- 英語語法分析,虛擬語氣
- 作者在介紹凡爾賽宮內(nèi)陳放這著來著世界各地的珍貴藝術(shù)品時,為什么還單獨介紹有遠涉重洋的中國古代瓷器
- 現(xiàn)在要制取1.6克氧氣,需要30%的過氧化氫溶液多少
猜你喜歡
- 1葉公好龍比喻是什么動物
- 2英語翻譯
- 3用3.6.8.4這四個數(shù)字組四個比例式
- 41+2+3+4.+88+89 怎么算一共能組成幾個90 類似這樣的怎么算?
- 5log 3 m=a,log 5 m=b,1/a + 1/b =2,m=?
- 627分之15 通分
- 7數(shù)列{an}中,a1=1,且an+1=Sn(n≥1,n∈N*),數(shù)列{bn}是等差數(shù)列,其公差d>0,b1=1,且b3、b7+2、3b9成等比數(shù)列. (Ⅰ)求數(shù)列{an}、{bn}的通項公式; (Ⅱ)設(shè)數(shù)列{cn}滿足cn=anbn,求{c
- 835(x-2)+15(5x-6)=500,x=?
- 9小明存入銀行5000元,過了一年,從銀行拿出5170元,這一年的年利率是多少?
- 10已知函數(shù)f(x)=ax^3+bx^2-3x在x=+(-)1處取得極值 求過點A(0,16)做曲線f(x)的切線,求此切線方程
- 11不利用碘液,你怎樣證明淀粉水解的存在
- 12last year能不能與現(xiàn)在完成時連用?