шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
1 | |
Правильный проброс исключений29.03.2018, 14:17. Показов 13588. Ответов 11
0
|
29.03.2018, 14:17 | |
Ответы с готовыми решениями:
11
Обработка исключений. Как организовать общий обработчик исключений? Проброс исключений Проброс исключений в микросервисах Обработка исключений с пмощью структурированной обработки исключений |
8 / 8 / 1
Регистрация: 18.03.2018
Сообщений: 26
|
||||||
29.03.2018, 18:03 | 2 | |||||
В смысле «проброс»?
1
|
17686 / 12872 / 3365
Регистрация: 17.09.2011
Сообщений: 21,137
|
|
29.03.2018, 18:58 | 3 |
Если под потерями в стеке подразумевается сброс Stack Trace, то бросается так, как выше указал товарищ csproj.
Если по какой-то причине нужно перехватить исключение и бросить свое, то перехваченное исключение передается в конструктор бросаемого как Inner Exception.
0
|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
||||||
29.03.2018, 20:11 [ТС] | 4 | |||||
то есть при
ЧТо стектрейс остался
0
|
8 / 8 / 1
Регистрация: 18.03.2018
Сообщений: 26
|
|
29.03.2018, 20:20 | 5 |
ht1515, throw; это проброс исключения, т.е. стек не теряется.
0
|
Warrior
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
|
|
29.03.2018, 22:34 | 6 |
ht1515, Можно использовать еще ExceptionDispatchInfo.Capture, но для обычного проброса используют throw.
https://stackoverflow.com/a/730255
0
|
04.04.2018, 12:45 | 7 |
kolorotur, если так пробрасывать, то в стектрейсе будет указание на строчку throw;, думаю TC именно єто и смущает.
лучше обозначить кастомный класс, унаследованый от Exception. Мне расказывале о подходе, где для каждого такого перехвата создавался свой Exception-class (как по мне, чертовски избыточно) чтобы было сразу понятно, где завалилось.
0
|
17686 / 12872 / 3365
Регистрация: 17.09.2011
Сообщений: 21,137
|
|
04.04.2018, 13:47 | 8 |
Это ничего страшного — главное, что при этом не теряется стек до строчки throw.
Добавление — все-таки не потеря.
0
|
17686 / 12872 / 3365
Регистрация: 17.09.2011
Сообщений: 21,137
|
|
04.04.2018, 15:28 | 10 |
0
|
04.04.2018, 16:59 | 11 | ||||||||||
kolorotur, так всетаки...
0
|
17686 / 12872 / 3365
Регистрация: 17.09.2011
Сообщений: 21,137
|
|
04.04.2018, 17:14 | 12 |
Wolfdp, ну да, в трейсе указывается строка, на которой исключение было выброшено.
Если в методе исключение ловится и пробрасывается дальше, то для этого метода строка выброса будет изменена, но предыдущий трейс сохраняется — это специально так сделано. Речь же шла о потерях в стеке — их и нет.
0
|
04.04.2018, 17:14 | |
04.04.2018, 17:14 | |
Помогаю со студенческими работами здесь
12
Indy: программа не получает правильный ответ от сервера, но сниффер показывает правильный ответ Проброс Проброс порта Проброс портов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |