Enfoque de fuego y olvido

Relacionado conesta respuesta,

Si realmente quiero "disparar y olvidar" un método que devuelve una tarea, y (por simplicidad) supongamos que no se espera que el método arroje ninguna excepción. Puedo usar el método de extensión que figura en la respuesta:

public static void Forget(this Task task)
{
}

Usando este enfoque, si hay errores en acción de laTask que provocan una excepción y, cuando se produce la excepción inesperada, la excepción se tragará y pasará desapercibida.

Pregunta: ¿No sería más apropiado en este escenario que el método de extensión tenga la forma:

public static async void Forget(this Task task)
{
    await task;
}

De modo que los errores de programación arrojan una excepción y se escalan (generalmente, desactivando el proceso).

En el caso de un método con excepciones esperadas (e ignorables), el método necesitaría ser más elaborado (aparte, ¿alguna sugerencia sobre cómo construir una versión de este método que tome una lista de tipos de excepciones aceptables e ignorables? )

Respuestas a la pregunta(3)

Su respuesta a la pregunta