Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2013, 00:21   #1
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию обработка исключений

Код:
                                try 
				{ 
					for (int i=0; i<5; i++)
						 for(int j=0; j<5; j++)
							a[i][j] =Convert::ToDouble(dataGridView2->Rows[i]->Cells[j]->Value);
				} 
				catch (System.FormatException) 
				{ 
					textBox1->Text = "Error";
				}
syntax error : identifier 'System'
error C2310: catch handlers must specify one type
error C2317: 'try' block starting on line '136' has no catch handlers

Вот собственно и вся проблема. Как исправить не подскажете?
Pein95 вне форума Ответить с цитированием
Старый 02.01.2013, 00:35   #2
Blind Guard
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 139
По умолчанию

Возможно, throw забыли.
Blind Guard вне форума Ответить с цитированием
Старый 02.01.2013, 00:37   #3
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

а без етого разве нельзя?
Pein95 вне форума Ответить с цитированием
Старый 02.01.2013, 00:40   #4
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Вообще не понял что вы тут хотели сделать, видимо поймать исключение. Тогда в блоке try должен быть соответствующий throw. Вот пример исключения деления на 0
Код:
int a = 10, b = 0;
try
{
    if (b == 0) 
        throw ("Деление на 0");
}
catch (char *str)
{
   // выводим брошенное исключение
}
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com

Последний раз редактировалось kventin_zhuk; 02.01.2013 в 00:42.
kventin_zhuk вне форума Ответить с цитированием
Старый 02.01.2013, 00:40   #5
Blind Guard
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Pein95 Посмотреть сообщение
а без етого разве нельзя?
Можно, при условии, что вы будете использовать абсолютный обработчик catch(...)
При этом всегда будет генерироваться исключительная ситуация.

Последний раз редактировалось Blind Guard; 02.01.2013 в 00:45.
Blind Guard вне форума Ответить с цитированием
Старый 02.01.2013, 00:49   #6
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

Просто с исключениями работаю впервые...Мне нужно поймать исключение System.FormatException. Я всеравно не пойму как ето сделать.
Pein95 вне форума Ответить с цитированием
Старый 02.01.2013, 01:02   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
catch (System.FormatException fe){
 textBox1->Text = "Error "+fe->message;
}
Если не ошибаюсь
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.01.2013, 01:07   #8
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

syntax error : identifier 'System'
error C2310: catch handlers must specify one type
error C2065: 'fe' : undeclared identifier
error C2227: left of '->message' must point to class/struct/union/generic type
error C2317: 'try' block starting on line '137' has no catch handlers
Код:
                              try 
				{ 
					for (int i=0; i<5; i++)
						 for(int j=0; j<5; j++)
							throw a[i][j] =Convert::ToDouble(dataGridView2->Rows[i]->Cells[j]->Value);
					
					
				} 
				catch (System.FormatException fe){
					textBox1->Text = "Error "+fe->message;
				}
Pein95 вне форума Ответить с цитированием
Старый 02.01.2013, 01:16   #9
Blind Guard
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 139
По умолчанию

У вас генерируется не одна исключительная ситуация, а i*j исключительных ситуаций (цикл), а catch перехватывает только одну.
Проверьте ещё, чтобы код исключительной ситуации совпадал по типу с тем, что принимает catch.

Последний раз редактировалось Blind Guard; 02.01.2013 в 01:19.
Blind Guard вне форума Ответить с цитированием
Старый 02.01.2013, 01:17   #10
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

как ето исправить тогда =(
Pein95 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка исключений с пoмощью структурированной обработки исключений Smart Visual C++ 3 01.11.2012 15:38
Обработка исключений - C++ Snorlax712 Помощь студентам 4 08.05.2012 18:50
C# обработка исключений NeoX_2011 Помощь студентам 3 19.03.2012 01:04
Обработка исключений _-Re@l-_ Общие вопросы Delphi 3 17.06.2010 08:53
Обработка исключений try... except Kati Помощь студентам 5 07.03.2010 10:18