公告
财富商城
积分规则
提问
发文
2019-10-25 20:58发布
霸刀☆藐视天下
请问在 .NET Core/C# 中如果调用一个异步方法时不对这个异步方法进行 await ,异步方法在执行过程中如果发生了异常,该异常是否能捕获到?
放到Result不就相当于“同步”捕获了。
try{ tak.run(async()=>{task.delay(1000);throw new exception()}) }catch(exception ex){ //抓不到ex } appdomain.unhandledexception+= obj,ex=>{ //异常跑这里 }
从同事那学到一招也是唯一的一招捕获异常方法,在所调用的异步方法中进行 catch ,如果不这样就捕获不到异常
public async Task<IActionResult> Index() { RequestAsync(); return Ok(); } private async Task RequestAsync() { try { var client = _httpClientFactory.CreateClient(); client.Timeout = TimeSpan.FromMilliseconds(1); var response = await client.GetAsync("https://www.cnblogs.com/"); } catch (Exception ex) { _logger.LogError(ex, "RequestAsync"); } }
最多设置5个标签!
放到Result不就相当于“同步”捕获了。
try{
tak.run(async()=>{task.delay(1000);throw new exception()})
}catch(exception ex){
//抓不到ex
}
appdomain.unhandledexception+= obj,ex=>{
//异常跑这里
}
从同事那学到一招也是唯一的一招捕获异常方法,在所调用的异步方法中进行 catch ,如果不这样就捕获不到异常