![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
PashaSem |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 5.3.2006 Репутация: нет Всего: нет |
Все Привет!
Есть ввод значения в int Unit_Number = Int32.Parse(Adr_drives.Text); и его обработка .
Все работает пока не вводим число 5000000000 в Steps_Num.Text); Как избежать данной ситуации Спасибо! |
|||
|
||||
Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 2 Всего: 92 |
А что происходит? Программа говорит: "Всё! Больше работать не буду!" ![]() Но я, наверно, сейчас угадаю... Возникает unhandled exception (необработанное исключение) и программа сваливается в отладчик? Теперь... Если чуть-чуть, буквально самую малость, призадуматься и попытаться понять, что же стоит за словами необработанное исключение, то мы придём к выводу, что его на самом деле нужно обработать! Гениально, не правда ли? Но ведь у нас же уже есть блок catch, возразит автор. Есть-то он есть, но только откуда бедному автору (ведь у него нет MSDN) знать, какие именно исключения могут произойти в методе Int32.Parse... Подскажу. Там может возникнуть ещё и OverflowException, когда полученное число выходит за диапазон Int32... И ведь надо же такому случиться, что 5000000000 действительно вне этого диапазона. Чёрт. Кто бы мог подумать. Особенно если учесть, что сам отладчик должен сказать, что произошло OverflowException. Мистика, не правда ли? Это сообщение отредактировал(а) Дрон - 2.2.2007, 14:02 -------------------- Да. Именно так. |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
Тип int может содержать значения от -2 147 483 647 до 2 147 483 648
Есть тип uint содержащий значения от 0 до 4 294 967 296 В твоем случае 5 миллиардов, что выходит за границы типа. Используй тип long или ulong , чтобы сохранить такие цифры. long от -9 223 372 036 854 775 807 до 9 223 372 036 854 775 808 ulong от 0 до 18 446 744 073 709 551 616 такого диапазона хватит тебе хватит точно! ![]() -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
PashaSem |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 5.3.2006 Репутация: нет Всего: нет |
Спасибо За Столь Поучительный Урок!
Я понял! Вопрос Буду ставить более точно. То что нет возможности преобразовать в Int32 это понятно по сообщению. НО дальнейшая работа с полученной величиной должна проволиться именно с Int32. преобразование типов не гарантирует что пользователь не нажмет клавишу и не будет держать ее до упора! Как вариант Возможно просто ограничить количество вводимых знаков ? Спасибо! |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 11 Всего: 149 |
||||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
мда... вот что значит не правильная постановка вопросов!!!
![]() -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |