Loading...
StaVykoV avatar StaVykoV 169 Точки

[Inheritance - Java OOP June] Problem 6. Animals

Направих си задачата, но ми гърмеше на първи и пети тест с Exception. Порових се по видеото от упражненията и забелязах, че там Симона огражда целия while цикъл с try блок. Реших да го пробвам от отчаяние и взе, че стана. 

Първият ми въпрос е относно начина на работа на try блока. Досега си мислех, че ако нещо хърли ексепшън вътре в блока, пък било то и в цикъл вътре в блока, програмата се придвижва напред до catch блока. Оказва се, че не е точно така и цикъла вътре си продължава ( и евентуално си хвърля още ексепшъни)?

Втория ми въпрос е, защо ТОВА минава само 4 теста, а ТОВА всичките? Единсветната разлика е, че във втория случай условието на цикъла и четенето на ред са в try блока...

Тагове:
0
C# OOP Basics
SimMtr avatar SimMtr 72 Точки

Здравей,

Рзликата наистина е в мястото, където обработваш exception-a. Ако try-catch ти е във while, цикълът не се прекъсва и програмата ти продължава да очаква инпут (какъвто в случая няма) и judge прекъсва изпълнението и с error след определено време. Ако обработиш exception-a извън while, цикълът се прекъсва и в нашия случай програмата спира своето изпълнение. Слоред задачата (за жалост няма тест, който да ти подскаже) ако ти се подадът грешни данни трябва да прекъснеш програмата.

1
vancho avatar vancho 430 Точки

Бих допълнил, не добре написано условие на задачата, защото не става ясно да ли продължава или не програмата след като хвърли ексепшъна, и аз имах такъв проблем!

0
03/07/2016 09:46:41
StaVykoV avatar StaVykoV 169 Точки

Да, явно в тази задача е така, но абсолютно същото ми се получи и при 5-та задача за песните. Там първите два теста ми гърмяха и като изнесох try блока извън цикъла се оправи. Там обаче и след грешно въведена песен инпута продължава...

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.