[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 или може би те ще бъдат оценявани от проверяващите, за да знаем доколко да се придържаме стриктно към подобни изисквания.