BookSleeve在性能方面非常出色,因为它尽可能多地使用异步IO。
但问题是,它可能会从异步操作中抛出致命异常并使我的应用程序崩溃。
我知道关键字await可以提供帮助,但我无法使用await来进行每次通话。
有没有办法全局捕捉未处理的异常?
答案 0 :(得分:1)
您使用的是哪个版本的库? BookSleeve在内部专门观察它自己的异常,以便它们不应该导致任何崩溃,但是,你也可以:
.Error
事件TaskScheduler.UnobservedTaskException
事件但是在更一般的层面上,最好检查一下你的任务会发生什么。如果您不想await
它们,则可能仍然值得订阅ContinueWith
来检查异常。此外,您不一定需要await
;在许多情况下,connection.Wait(result)
也很好 - 虽然这确实会占用 little 更长的主线程(但请注意:它不会占用多路复用器)。