亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

方法調用中沒有異常 UIImage.LoadFromData(null)

方法調用中沒有異常 UIImage.LoadFromData(null)

C#
躍然一笑 2023-09-16 20:13:39
在 IOS xamarin 表單項目中:UIImage.LoadFromData(null)沒有例外和try { UIImage.LoadFromData(null); } catch {}catch 塊中拋出異常..我需要沒有 try|catch 的異常
查看完整描述

2 回答

?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

您要么有一個全局異常處理程序,要么從后臺線程調用它而不等待對異步方法的調用,因此您的異常將被吞噬。例如,只需這樣做:


public override void ViewDidLoad()

{

    base.ViewDidLoad();


    var x = UIImage.LoadFromData(null);

}

你會得到一個System.ArgumentNullException: Value cannot be null例外,但如果你這樣做:


public override void ViewDidLoad()

{

    base.ViewDidLoad();


    Task.Run(() => {

        var x = UIImage.LoadFromData(null);

    });

}

即使您有全局異常處理程序,異常也會被吞掉并且您永遠不會看到它。這是設計使然。任何未執行的即發即忘任務都await將吞噬(即不重新拋出)即發即忘任務中引發的任何異常。


等待任務會引發異常:


public override async void ViewDidLoad()

{

    base.ViewDidLoad();


    await Task.Run(() => {

        var x = UIImage.LoadFromData(null);

    });

}


查看完整回答
反對 回復 2023-09-16
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

你正在吞下這個例外。將您期望的異常添加到 catch 塊中


try

{

//code

}

catch(Exception ex)

{

//thrown exception

}


查看完整回答
反對 回復 2023-09-16
  • 2 回答
  • 0 關注
  • 134 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號