Loading...
mihayloff14 avatar mihayloff14 825 Точки

[Judge] OOP - Валидация и exception-и по време на изпит

Здравейте,

В момента се подготвям за изпита и забелязах един куриозен случай. Когато трябва да се валидира нещо, се изисква да се хвърлят дадени exception-и в определен формат. Например в моя случай:

Throw appropriate exception when data validation fails. When there is an error in a parameter (such as a missing required parameter), throw an ArgumentException, and when there is a forbidden or meaningless method, throw an InvalidOperationException.

The messages for the exceptions should be as follows:

  • For required parameters: The <parameter> is required.
  • For parameters with only positive values: The <parameter> must be positive.

Мисълта ми е, доколко съобщенията, които съдържат exception-ите трябва да отговарят на тези изисквания, тъй като всички знаем, че judge системата изисква абсолютна точност при форматиране на стрингове. Освен това, не ми е ясно какви точно exception-и се хвърлят в различните случаи. Според моето тълкуване, ArgumentException се хвърля винаги при валидация на някакви данни в property-та, докато InvalidOperationException - при грешки в някои методи. Така ли е наистина или се бъркам?

Като цяло, бих искал да разбера дали тези изисквания трябва да се спазват, за да може да минат тестовете в judge или може би те ще бъдат оценявани от проверяващите, за да знаем доколко да се придържаме стриктно към подобни изисквания.

1
C# OOP Basics 02/03/2015 10:36:24
iordan_93 avatar iordan_93 Trainer 407 Точки

Здравей,

Валидацията в тези задачи (Restaurant Manager и Music Shop Manager) е направена само заради ръчната проверка. Естествено, че в реална ситуация ще хвърляш подходящите exception-и.

Указанията за типовете exception-и, които трябва да се хвърлят в отделните случаи са само за улеснение на студентите, защото това е изпитна задача Така от една страна студентите не се чудят кой точно exception е най-подходящ, от друга страна проверяващите гледат по-малко бисери laughing.

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