WPF - DispatcherUnhandledException, кажется, не работает

Шолк - в следующий раз покажите ваши данные в виде текста, а не в виде картинки, чтобы мы могли скопировать и вставить их в наши примеры. Таким образом, я потерял 15 минут, чтобы собрать данные примера ...

Ты имеешь в виду это?

- Мне удалось многое упростить, если подумать об этом ...

-- your input data
WITH cdt(uid,country,msdn,mssi,call_dur,sdata,cost,date_key,date_val) AS (
            SELECT 50,'IND',9861388009,9761588009,466,477,48900,3290,DATE '2019-01-04'
  UNION ALL SELECT 51,'IND',9861388009,9761588009,466,477,48900,3290,DATE '2019-01-04'
  UNION ALL SELECT 52,'IND',9861388009,9761588009,466,477,48900,3290,DATE '2019-01-04'
  UNION ALL SELECT 53,'IND',9861388009,9761588009,466,477,48900,3290,DATE '2019-01-04'
  UNION ALL SELECT 45,'IND',9861388009,9761588009,466,477,48900,3291,DATE '2019-01-05'
  UNION ALL SELECT 46,'IND',9861388009,9761588009,466,477,48900,3291,DATE '2019-01-05'
  UNION ALL SELECT 47,'IND',9861388009,9761588009,466,477,48900,3291,DATE '2019-01-05'
  UNION ALL SELECT 48,'IND',9861388009,9761588009,466,477,48900,3291,DATE '2019-01-05'
  UNION ALL SELECT 41,'IND',9861388009,9761588009,466,477,48900,3292,DATE '2019-01-06'
  UNION ALL SELECT 42,'IND',9861388009,9761588009,466,477,48900,3292,DATE '2019-01-06'
  UNION ALL SELECT 43,'IND',9861388009,9761588009,466,477,48900,3292,DATE '2019-01-06'
  UNION ALL SELECT 44,'IND',9861388009,9761588009,466,477,48900,3292,DATE '2019-01-06'
  UNION ALL SELECT 37,'IND',9861388009,9761588009,466,477,48900,3293,DATE '2019-01-07'
  UNION ALL SELECT 38,'IND',9861388009,9761588009,466,477,48900,3293,DATE '2019-01-07'
  UNION ALL SELECT 39,'IND',9861388009,9761588009,466,477,48900,3293,DATE '2019-01-07'
  UNION ALL SELECT 40,'IND',9861388009,9761588009,466,477,48900,3293,DATE '2019-01-07'
  UNION ALL SELECT 33,'IND',9861388009,9761588009,466,477,48900,3294,DATE '2019-01-08'
  UNION ALL SELECT 34,'IND',9861388009,9761588009,466,477,48900,3294,DATE '2019-01-08'
  UNION ALL SELECT 35,'IND',9861388009,9761588009,466,477,48900,3294,DATE '2019-01-08'
  UNION ALL SELECT 36,'IND',9861388009,9761588009,466,477,48900,3294,DATE '2019-01-08'
  UNION ALL SELECT 29,'IND',9861388009,9761588009,466,477,48900,3295,DATE '2019-01-09'
)
-- real query starts here ...
SELECT
  date_val
, COUNT(*) OVER(PARTITION BY DAY  (date_val)) AS per_day
, COUNT(*) OVER(PARTITION BY WEEK (date_val)) AS per_week
, COUNT(*) OVER(PARTITION BY MONTH(date_val)) AS per_month
, COUNT(*) OVER(PARTITION BY YEAR (date_val)) AS per_year
FROM cdt
;

   date_val  | per_day | per_week | per_month | per_year 
 ------------+---------+----------+-----------+----------
  2019-01-05 |       4 |        8 |        21 |       21
  2019-01-05 |       4 |        8 |        21 |       21
  2019-01-05 |       4 |        8 |        21 |       21
  2019-01-05 |       4 |        8 |        21 |       21
  2019-01-04 |       4 |        8 |        21 |       21
  2019-01-04 |       4 |        8 |        21 |       21
  2019-01-04 |       4 |        8 |        21 |       21
  2019-01-04 |       4 |        8 |        21 |       21
  2019-01-09 |       1 |       13 |        21 |       21
  2019-01-08 |       4 |       13 |        21 |       21
  2019-01-08 |       4 |       13 |        21 |       21
  2019-01-08 |       4 |       13 |        21 |       21
  2019-01-08 |       4 |       13 |        21 |       21
  2019-01-07 |       4 |       13 |        21 |       21
  2019-01-07 |       4 |       13 |        21 |       21
  2019-01-07 |       4 |       13 |        21 |       21
  2019-01-07 |       4 |       13 |        21 |       21
  2019-01-06 |       4 |       13 |        21 |       21
  2019-01-06 |       4 |       13 |        21 |       21
  2019-01-06 |       4 |       13 |        21 |       21
  2019-01-06 |       4 |       13 |        21 |       21
 (21 rows)
10
задан Gilles 'SO- stop being evil' 28 July 2011 в 18:13
поделиться

4 ответа

Это может произойти из-за способа, которым у Вас есть исключения обрабатывающего отладчика - Отладка/Исключения... должна позволить Вам настраивать точно, как Вы хотите обработанный.

4
ответ дан 4 December 2019 в 00:27
поделиться

Сначала, даже вне среды отладки, мой обработчик, кажется, не запускает ..... тогда я понял, что я забыл установить e.Handled = true.

По правде говоря, это работало, но из-за того, что e.Handled все еще был ложным, стандартный обработчик исключений все еще включался и делал свое дело.

Как только я установил e.Handled = true Тогда все было в порядке. Так что, если это не работает для вас, убедитесь, что вы сделали этот шаг.

2
ответ дан 4 December 2019 в 00:27
поделиться

Для заинтересованных

Кажется, что IDE все еще повреждается на исключениях и что, если Вы нажимаете, продолжаются в IDE, который это называет обработчиком ошибок.

1
ответ дан 4 December 2019 в 00:27
поделиться

Посмотрите следующую ссылку msdn http://msdn.microsoft.com/en-us/library/system.windows.application.dispatcherunhandledexception.aspx Здесь уместно следующее

. Если исключение не обрабатывается ни в потоке фонового пользовательского интерфейса (UI) (поток со своим собственным Диспетчером), ни в фоновом рабочем потоке (поток без Диспетчера), исключение не пересылается в основной поток пользовательского интерфейса. Следовательно, DispatcherUnhandledException не возникает. В этих обстоятельствах вам нужно будет написать код для выполнения следующих действий:

  1. Обработка исключений в фоновом потоке.
  2. Отправка этих исключений в основной поток пользовательского интерфейса.
  3. Перенаправить их в основной поток пользовательского интерфейса, не обрабатывая их чтобы разрешить возникновение DispatcherUnhandledException.
3
ответ дан 4 December 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: