为什么我不能从异步代码中捕获异常?

德罗·韦斯

我读过的所有地方都说下面的代码应该可以,但是不能。

public async Task DoSomething(int x)
{
   try
   {
      // Asynchronous implementation.
      await Task.Run(() => {
      throw new Exception();
      x++;
      });
   }
   catch (Exception ex)
   {
      // Handle exceptions ?
   }
}

就是说,我什么也没抓到,而是从“ throw”行得到了“未处理的异常”。我在这里一无所知。

马特·史密斯

您已打开“仅我的代码”选项。在此之后,它正在考虑就“仅代码”而言未处理的异常-因为其他代码正在捕获该异常并将其填充到Task中,随后在await调用时被重新抛出并由catch语句捕获。

无需附加在调试器中,您的catch语句将被触发,并且将按预期运行。或者,您可以仅在调试器中继续运行,它将按预期运行。

更好的方法是关闭“仅我的代码”。海事组织,它造成的混乱远远超过其价值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能多次捕获异常?

来自分类常见问题

为什么我不能捕获OOM异常?

来自分类Dev

为什么我不能捕获OOM异常?

来自分类Dev

为什么我不能在异步方法中调试代码?

来自分类Dev

(为什么)我不能从生成器中抛出异常吗?

来自分类Dev

为什么我不能从某些处理器异常中返回?玩具内核开发

来自分类Dev

为什么我不能从某些处理器异常中返回?玩具内核开发

来自分类Dev

当我的lua代码抛出错误时,为什么不能捕获luabind :: error异常?

来自分类Dev

当我的lua代码引发错误时,为什么不能捕获luabind :: error异常?

来自分类Dev

为什么我的`main()`不能捕获junit测试中`timer`中抛出的异常?

来自分类Dev

为什么我不能从远程分支中拉出?

来自分类Dev

我为什么不能从情节提要中创建IBAction

来自分类Dev

为什么我不能从列表中删除所需的元素

来自分类Dev

为什么我不能从该表中删除记录?

来自分类Dev

为什么我不能从XPath查询中检索URL?

来自分类Dev

为什么我不能从C中的函数传回链表?

来自分类Dev

为什么我不能从远程分支中拉出?

来自分类Dev

为什么我不能从开关内的变量中减去?

来自分类Dev

为什么我不能多次捕获该异常?

来自分类Dev

为什么我不能正确捕获此异常?

来自分类Dev

为什么我的`main()`不能捕获junit测试中`timer`抛出的异常?

来自分类Dev

为什么我在wsdl + xsd代码生成中总是不能从带有WSCF蓝色的选择元素中获得ItemElementName?

来自分类Dev

为什么我的代码没有捕获到异常?

来自分类Dev

为什么我不能在 JavaScript 中编写这样的异步代码?

来自分类Dev

为什么异步方法的返回类型不能从Task派生?

来自分类Dev

为什么异步方法的返回类型不能从Task派生?

来自分类Dev

为什么`catch`不能捕获这个异常?

来自分类Dev

为什么我不能从存储库安装内核源代码

来自分类Dev

为什么我不能捕获C ++中的递归lambda函数?

Related 相关文章

  1. 1

    为什么我不能多次捕获异常?

  2. 2

    为什么我不能捕获OOM异常?

  3. 3

    为什么我不能捕获OOM异常?

  4. 4

    为什么我不能在异步方法中调试代码?

  5. 5

    (为什么)我不能从生成器中抛出异常吗?

  6. 6

    为什么我不能从某些处理器异常中返回?玩具内核开发

  7. 7

    为什么我不能从某些处理器异常中返回?玩具内核开发

  8. 8

    当我的lua代码抛出错误时,为什么不能捕获luabind :: error异常?

  9. 9

    当我的lua代码引发错误时,为什么不能捕获luabind :: error异常?

  10. 10

    为什么我的`main()`不能捕获junit测试中`timer`中抛出的异常?

  11. 11

    为什么我不能从远程分支中拉出?

  12. 12

    我为什么不能从情节提要中创建IBAction

  13. 13

    为什么我不能从列表中删除所需的元素

  14. 14

    为什么我不能从该表中删除记录?

  15. 15

    为什么我不能从XPath查询中检索URL?

  16. 16

    为什么我不能从C中的函数传回链表?

  17. 17

    为什么我不能从远程分支中拉出?

  18. 18

    为什么我不能从开关内的变量中减去?

  19. 19

    为什么我不能多次捕获该异常?

  20. 20

    为什么我不能正确捕获此异常?

  21. 21

    为什么我的`main()`不能捕获junit测试中`timer`抛出的异常?

  22. 22

    为什么我在wsdl + xsd代码生成中总是不能从带有WSCF蓝色的选择元素中获得ItemElementName?

  23. 23

    为什么我的代码没有捕获到异常?

  24. 24

    为什么我不能在 JavaScript 中编写这样的异步代码?

  25. 25

    为什么异步方法的返回类型不能从Task派生?

  26. 26

    为什么异步方法的返回类型不能从Task派生?

  27. 27

    为什么`catch`不能捕获这个异常?

  28. 28

    为什么我不能从存储库安装内核源代码

  29. 29

    为什么我不能捕获C ++中的递归lambda函数?

热门标签

归档