如果我确实确实想“触发并忘记”一个确实返回任务的方法,并且(为简单起见),我们假设该方法不会引发任何异常。我可以使用答案中列出的扩展方法:
public static void Forget(this Task task)
{
}
使用这种方法,如果存在运行中的错误,这些错误Task会导致引发异常,那么当引发意外的异常时,该异常将被吞没并且不会被注意到。
问题:在这种情况下,扩展方法采用以下形式更合适吗:
public static async void Forget(this Task task)
{
await task;
}
这样编程错误会引发异常并逐步升级(通常会降低进程)。
对于具有预期(和可忽略)异常的方法,该方法将需要变得更加复杂(顺便说一句,有关如何构造此方法的版本的建议,其中将采用可接受和可忽略的异常类型列表)? )
暮色呼如
MMTTMM
相关分类