Why should async void methods generally be avoided except for event handlers?
Correct answer B. Callers cannot await them or catch their exceptions
Explanation
An async void method returns nothing that callers can await, so they cannot know when it finishes, and exceptions it throws are raised directly on the synchronisation context, often crashing the application. Returning Task lets callers await completion and observe failures. async void exists mainly because event handlers must return void.
Answer checked How we write and check questions
Discussion