169 похожих чатов

Вопрос знатокам. Куда в этом коде выкидываться ошибка?

19 ответов

2 просмотра

В UI thread по идее

Reid-Larson Автор вопроса
Max
В UI thread по идее

А вот и нет:)

Reid Larson
А вот и нет:)

Ну и куда тогда?

Reid-Larson Автор вопроса
Reid Larson
А вот и нет:)

Ошибка здесь проглатывается и никуда не выбрасывается

Reid-Larson Автор вопроса
Reid-Larson Автор вопроса
Max
Ну и куда тогда?

https://github.com/xamarin/XamarinCommunityToolkit/blob/main/src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/UserStoppedTypingBehavior.shared.cs

Reid-Larson Автор вопроса
Max
В UI thread по идее

Прикол в том, что ContinueWith не в UI треде выполняется, поэтому там обернули Unfocus в BeginInvoke, но, чтобы сработал проброс ошибки дальше они забыли await сделать

Reid-Larson Автор вопроса
Reid Larson
Прикол в том, что ContinueWith не в UI треде выпол...

И в таком случае, тут метод команды нужно оборачивать в BeginInvoke, что тоже не очевидно без исходников

Reid-Larson Автор вопроса
Reid Larson
https://github.com/xamarin/XamarinCommunityToolkit...

Ребят, может кто ответить, почему здесь ошибки в UI они не кидают?При этом, в других Behavior они это делают

Reid Larson
Ребят, может кто ответить, почему здесь ошибки в U...

Если вопрос про 112 строку, то незачем выбрасывать эту ошибку в UI тред, т.к. она может возникнуть только если OnTextPropertyChanged вызовется повторно (до завершения предыдущего Delay): токен будет отменен и задиспоузен, в предыдущей итерации выбросится эксепшн, который говорит только о том что Delay отменен и больше никакой полезной информации для того что бы ее ловить в UI треде не несет.

Reid-Larson Автор вопроса
Ivan
Если вопрос про 112 строку, то незачем выбрасывать...

Кто этот ексепшн поймает и где с таким кодом?

Reid Larson
Кто этот ексепшн поймает и где с таким кодом?

Еще раз: никто его нигде не поймает, потому что его нет причин ловить - эксепшн просто проглотится в бэкграунд треде. Скорее всего это просто добавлено для наглядности\дебага

Reid-Larson Автор вопроса
Ivan
Еще раз: никто его нигде не поймает, потому что ег...

А зачем они тогда ошибки выкидывают в UI в другом Behavior?

Reid-Larson Автор вопроса
Ivan
В каком "другом"?)

https://github.com/xamarin/XamarinCommunityToolkit/blob/main/src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/EventToCommandBehavior.shared.cs#L105

Reid-Larson Автор вопроса
Ivan
Если вопрос про 112 строку, то незачем выбрасывать...

она может возникнуть только если OnTextPropertyChanged вызовется повторно (до завершения предыдущего Delay) - и как это вообще возможно?

Reid Larson
https://github.com/xamarin/XamarinCommunityToolkit...

Это экспшены совсем разного типа. То что вы сейчас скинули сигнализирует клиенту о том что он заинициализировал behavior с неверными параметрами, и естесственно такое должно падать. В предыдущем случаи падение бэкграунд потока потому что он был отменен скорее возможное, ожидаемое поведение, которое никак на UI тред не влияет.

Ivan
Если вопрос про 112 строку, то незачем выбрасывать...

@Xo3_ToBapbl Если таска отменяется, то IsFaulted = false, а Exception = null, кстати

Игорь Николаев
@Xo3_ToBapbl Если таска отменяется, то IsFaulted ...

Я кстати тоже помню что-то такое, что OCE обрабатывается по особому, можно ссылку на доку где подробнее почитать? И тогда этот код действительно становится непонятным. Ваши предположения, что он делает? По идее в таком случаи там эксепшену неоткуда взяться

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

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта