ReSharper 2025.2 Help

代码检查:请勿在 'async void' 方法和函数中重新抛出异常

此检查可识别在 async void 方法或函数中重新抛出异常的情况,这可能导致应用崩溃。 与 async Taskasync Task<T> 方法不同, async void 方法中的异常不会被直接等待,而是传递到同步上下文或未处理的异常处理程序。 此行为可能导致整个应用进程终止。

class Example { async void FaultyMethod() { try { await Task.Delay(100); } catch (Exception e) { Console.WriteLine(e.Message); throw; // Warning: Can crash the process } } }

为避免运行时崩溃,请将 throw; 语句替换为适当的异常处理。

如有可能,也请考虑使用 任务Task<T> 作为异步方法的返回类型,以确保更好的异常处理能力和可维护性。

最后修改日期: 2025年 9月 27日