![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Кто сможет обясните для чего нужен операвтор trohw в целом? Как можно принудительно вызвать исключение в блоке try, чтобы было правильно, т.к. я использовал такую конструкцию:
И как в блоке cath узнать какая строка вызвала исключение и каков сам текст ошибки, положить ошибку и номер строки в переменную строкового типа ? |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
http://msdn.microsoft.com/en-us/library/ms173160.aspx
http://www.microsoft.com/downloads/en/deta...;displaylang=en -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Разобралсо вроде сам с оператором throw
Это сообщение отредактировал(а) Yagmort - 10.2.2011, 13:37 |
|||
|
||||
| tartar |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 1.12.2010 Репутация: нет Всего: нет |
Да, он будет обрабатываться в catch,
если же ты используешь его в catch оно уйдетвыше на уровень. то есть у тебя void a() { try { throw new... } catch(Exception ex) { здесь ты можешь обработать или throw new exception } } void b() { try { a(); } catch(Exception ex) { если в кэтче а ты запускаешь новое исключение, то и здесь ты попадешь сюда, иначе исключение потеряется в кэтче метода а } } |
|||
|
||||
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Понял, что throw тупо вызывает новое исключение, которое я ему задаю, и он выдает мне сообщение, от того, какое исключение я ему передал. А если используется блок такой try { int a=Convert.ToString("sss"), b=Convert.ToString("sss"), c=Convert.ToString("sss"); } catch (InvalidCastException ice) { //как тут узнать что вызвало исключение ?? //например хочу так if (a...) {MessageBox.Show("a вызвало исключение")} //if (b...) {MessageBox.Show("б вызвало исключение")} //if (с...) {MessageBox.Show("ц вызвало исключение")} } и чтоб программа остановилась в куске catch оюязательно Это сообщение отредактировал(а) Yagmort - 10.2.2011, 13:51 |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
в ексцепшене есть свойство "сообщение" в котором идет описание ошибки. если ты сам делаешь исключение то задай в сообщении то что тебе нужно.
|
|||
|
||||
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
А если у меня идет внутри блока try { int a=Greys(b), // этот создает исключение не зависимо от меня. if (a==2) c=Convert.ToString("sss");// тут я создаю сам } |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
||||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |