[Домашно C# Basics March] Тема 3, задача 16
Здравейте,
Понеже кандидатствах за втория прием и реших да се подготвя предварително и започнах да решавам задачките от Мартенския курс, та остана ми само едно нещо което да направя по тази задачка..
Въпросът ми е следният, във catch-a на ред 15, ако се стигне до него как да направя така, че да спре до там, защото ако числото ми е прекалено голямо и влезе в catch-a просто ми изписва, че е out of range и си продължава надолу с останалия код...
Пробвах със Environment.Exit; , но ми дава грешка:
"only assignment call increment decrement await and new object expressions can be used as a statement"
Благодаря предварително! :)
Благодаря ти, идеята с цикъла while е доста добра и за целите на задачката ще свърши работа тъй като единственият exception който може да се получи вътре в него е, ако числото е прекалено голямо (или поне аз не виждам какво друго може да се случи). Иначе да със сигурност трябва да се науча и на прилична практика как да пиша exception-и и не само, всичко с времето си. А явно това, че ми липсваше (0) е било проблема ми със Environment.Exit :D
Горещо ти препоръчвам първо да се запознаеш с правилния начин за обработка на изключенията, че ако свикнеш да ги пишеш по един начин и той се окаже грешен (както мисля е в твоя случай) по една или друга причина после ще ти е по-трудно да се отучиш ( празна глава лесно се пълни : ) . Това че в случая "решението" с цикъла работи и те задоволява въобще не означава, че трябва така да го правиш.
Допълнително в try блока имаш два метода - Convert.ToUInt32(); и Console.ReadLine(); и двата могат да хвърлят различни изкючения можеш да ги видиш тук и тук.( в msdn си пише кой метод какви изключения може да даде )
Прав си! Ще го направя! :)