Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
20 / 19 / 9
Регистрация: 06.02.2015
Сообщений: 382

Блокировка потока из за "невидимой" ошибки. Почему так?

16.11.2020, 19:40. Показов 4826. Ответов 1

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Есть проблема с которой раньше не сталкивался, поясните пожалуйста как оно так работает, чтобы на будущее просто держать это в голове.

У меня есть асинхронный метод async Task Foo() {} (тут будет запрос через допустим дапер, в мою базу).

В случае если мы пытаемся дёрнуть хранимку которой нет в базе, мы получаем ошибку "отсутствует процедура *name*" (SqlException).

Проблема возникла в том, что я удивился, когда у меня локально, зависло приложение (лоадер в браузере бегает, ошибки на фронте нет, на бэке ошибки нет (я в дэбаг режиме, а приложение не остановилось на ошибке), а в Diagnoctic Tools среди запросов видна моя ошибка, но она не была выброшена (throw) почему-то).

Теперь какие кейсы я проверил:
-вызов в синхронном акшене, без try{}catch{} через .GetAwaiter().GetResult() - ошибка не видна (использование ConfigureAwaiter ничего не меняет)
-вызов в синхронном акшене, c try{}catch{} через .GetAwaiter().GetResult() - ошибка не видна (catch без типа; в catch не попадаем)
-вызов в aсинхронном акшене, без try{}catch{} через .GetAwaiter().GetResult() - ошибка не видна
-вызов в aсинхронном акшене, c try{}catch{} через .GetAwaiter().GetResult() - ошибка не видна
-вызов в aсинхронном акшене, без/c try{}catch{} через await - ошибка видна

Вопрос: почему в первых 4х случаях ошибка не "всплывает", хоть в Diagnostic Tools она есть?
Иногда нужно асинхронный метод в каком-то куске древнего кода вызвать, а так выходит, что вызвать получается, а ошибка просто "вешает" приложение, хотя exception был куда бы приемлемее.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.11.2020, 19:40
Ответы с готовыми решениями:

Ошибки графов: почему контур это ошибка в граф схеме информационного потока
Добрый день, в процессе выполнения работы возник вопрос на который не совсем однозначно можно дать ответ Вот вопрос Почему контур в...

Почему кнопка НЕ СТАНОВИТСЯ НЕВИДИМОЙ?
Среда Visual Basic STUDIO’2010 Professional Почему кнопка НЕ СТАНОВИТСЯ НЕВИДИМОЙ? Form1.Button12.Visible = False строка кода...

Блокировка потока
Почему код висит на wait()? class Worker : public QObject { Q_OBJECT public slots: void process() { ...

1
20 / 19 / 9
Регистрация: 06.02.2015
Сообщений: 382
18.11.2020, 23:35  [ТС]
Комьюнити, это бажина чисто если ошибка идёт и пакета Dapper.

В случае явного выброса ошибки - она всплывает выше и всё гуд.
Почему такая бажина есть при работе с дапером - не ясно.


(админ: чтоб название темы норм соответствовала, я думаю стоит поменять шапку на то что проблема именно в Dapper)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.11.2020, 23:35
Помогаю со студенческими работами здесь

Укажите, пожалуйста, что не так я сделала и как убрать ошибки.(почему ошибочки?) Заранее спасибо
:cry: П.5.4. Правил Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п. ...

Блокировка асинхронного потока
Использую Confluent.Kafka и есть проблема, что там не имеется асинхронного консьюма Подумал о такой идеи Пусть будет один потребитель,...

ПЕРИОДИЧЕСКАЯ БЛОКИРОВКА ПОТОКА
Здравствуйте, мне требуется отслеживать на клиенте посылаемые и получаемые Интернет потоки (обращение к определенному домену) и фильтровать...

Блокировка потока методом Lock
Привет всем, есть код к нему нужно добавить синхронизацию потоков и цикличность. Т.е должен блокироваться второй поток пока не выполнится...

Блокировка потока методом Lock
Всем добрый день. Что с потоками никак толком не разберусь. Метод lock как производит блокировку не совсем понятно. Вот цитата из книги: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru