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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2014, 22:06   #1
sinestro
Пользователь
 
Регистрация: 24.02.2012
Сообщений: 88
По умолчанию несколько вопросов по с++ windows forms

здрастите. пытаюсь кодить на С++ WinForms после С# и у меня возникло несколько вопросов

1) есть ли на плюсиках аналог такому коду из шарпика?
Код:
try
{
    //здеся кодим
}
catch(Exception ex)
{
    MessageBox.Show(ex.Message)
}
т.е. отлавливать не какие-то определённые исключения, а вообще все
(мне оно нужно чтобы сделать защиту от дурака. чтобы юзер вводил в текстбокс только числа. буквы нельзя)
в шарпике я делал вот так:
Код:
double x=0;
try
{
    x = Double.Parse(textBox1.Text);
}
catch(Exception ex)
{
    MessageBox.Show("вводить можно только числа")
}
2) для чего нужен оператор ^ в данном случае:
Код:
private: System::Windows::Forms::TextBox^  textBox1;
sinestro вне форума Ответить с цитированием
Старый 10.03.2014, 23:15   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

^ это managed pointer.
Эти указатели удаляются сборщиком мусора в отличие от обычных указателей С/С++, который надо освобождать самому.
waleri вне форума Ответить с цитированием
Старый 11.03.2014, 04:58   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
есть ли на плюсиках аналог такому коду из шарпика?
есть и отличается он от шарпика ^ после Exception
p51x вне форума Ответить с цитированием
Старый 11.03.2014, 22:52   #4
sinestro
Пользователь
 
Регистрация: 24.02.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
есть и отличается он от шарпика ^ после Exception
я так понимаю такая прелесть есть только в .NET ? на чистых плюсиках придёться вручную поморочиться с исключениями ?
sinestro вне форума Ответить с цитированием
Старый 12.03.2014, 03:18   #5
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от sinestro Посмотреть сообщение
я так понимаю такая прелесть есть только в .NET ? на чистых плюсиках придёться вручную поморочиться с исключениями ?

Код:
try
{
    //здеся кодим
}
catch(const std::exception& ex)    //<---- ловит все стандартные
{
    MessageBox.Show(ex.what() )
}
catch(const std::stringn& ex)    //<---- некоторые могут кинуть строку
{
    MessageBox.Show(ex.what())
}
catch(...)    //<---- ловит все подряд
{
    MessageBox.Show( "unkown exception" )
}
_Bers вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько вопросов о работе в Windows без мыши Altera Операционные системы общие вопросы 16 29.04.2011 18:24
Несколько вопросов pix_l Общие вопросы Delphi 1 29.03.2009 22:26
Несколько вопросов Зубоскалик Общие вопросы Delphi 14 20.11.2008 14:28
Несколько Вопросов Дорст Общие вопросы Delphi 3 12.11.2007 09:18