JetBrains Rider 2026.1 Help

代码检查:避免在返回类型为 'void' 的方法和函数中使用 'async'(不要在 '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; 语句替换为适当的异常处理。

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

2026年 3月 25日