Последующие действия: Есть ли аккуратный способ убедиться, что задача ожидалась?
Если вам нужен индивидуальный, более детальный, чем
TaskScheduler.UnobservedTaskException
контроль над исключениями, создаваемыми задач, которые вы не выполняетеawait
, для этого есть удобный инструмент:async void
методы.Ваш код может выглядеть следующим образом:
static async void Observe(Task task) { // use try/catch here if desired so; // otherwise, exceptions will be thrown out-of-band, i.e. // via SyncronizationContext.Post or // via ThreadPool.QueueUSerWorkItem (if there's no sync. context) await task; } // ... var taskObserved = false; var task = DoSomething() try { bool ready = await DoSomethingElse(); if (!ready) return null; var value = await DoThirdThing(); // depends on DoSomethingElse taskObserved = true; return value + await task; } finally { if (!taskObserved) Observe(task); }
В TSQL вам нужно использовать IS
, а не =
при сравнении с NULL
:
SELECT * FROM table WHERE field IS NULL
Вы хотите IS NULL
Я считаю:
SELECT * FROM table WHERE field IS NULL