Въпрос относно използването на Exceptions в Judge системата (OOP Introduction - Encapsulation and Validation)
Здравейте, решавам задача 04. Pizza Calories от OOP Introduction - Encapsulation and Validation, и бих искал да попитам защо Judge системата ми връща грешка, когато използвам Exception, като в условието ИЗРИЧНО е казано, че трябва да се хвърли Exception - "throw an exception with the message 'Number of toppings should be in range [0..10].' ". При третия нулев тест на тази задача ми казва, че очакваният ИЗХОД трябва да бъде "Number of toppings should be in range [0..10].", а не Exception. Ето ми го кода:
Toppings - https://pastebin.com/1gTeKdwf
Dough - https://pastebin.com/N7PFS6NZ
Pizza - https://pastebin.com/j7nzdWHf
Program - https://pastebin.com/b5W4P9EP
Благодаря предварително!
EDIT: Реших задачата със 100/100 като използвах Console.WriteLine() за да отпечатам очаквания изход, и System.Environment.Exit(1) за да спра изпълнението на програмата. Ако това наистина е начинът, по който програмата трябва да се реши, тогава ЗАЩО ни е казано да хвърлим Exception? Благодаря.
Не бях разбрал, че Exception-ите трябва да бъдат хванати; не си спомням да съм виждал такава инструкция в задачите. Благодаря!
Това, че exception-ите трябва да бъдат хванати е генерален похват в програмирането така че го имай предвид при всички задачи. Идеята е грешката да бъде уловена и обработена по някакъв начин - показана на конзолата, върната на потребителя като променен текст(например "Не е въведено първо име" говори повече отколкото "Object reference not set to an instance of an object"), пратена на друга програма която да прави нещо за да я поправи и т.н.