Fire-and-forget task thực thi mà không được await: _ = someAsync();.
- Nguy hiểm vì exceptions biến mất trong im lặng, gây ra lỗi rất khó debug.
- Luôn capture task result hoặc await.
- Đăng ký global handler
TaskScheduler.UnobservedTaskExceptionđể bắt các exception bị bỏ sót. - Không bao giờ "bắn rồi quên" trong production code trừ khi được xử lý cẩn thận.
Fire-and-forget tasks execute without being awaited: _ = someAsync();.
- They are risky because exceptions silently disappear, causing hard-to-debug failures.
- Always capture task results or await them.
- Register
TaskScheduler.UnobservedTaskExceptionfor a global safety net. - Never fire-and-forget in production without proper exception handling.