[Exam] [Solved] Chepelare Hotel Booking System - Unhandled Exception: System.NullReferenceException...
Здравейте,
мъча се над поправката от миналата инстанция на курса... проблема ми е, че Judge -а хвърля грешка:
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at HotelBookingSystem.Infrastructure.Endpoint.Parse(String url)
at HotelBookingSystem.Core.Engine.Run()
at HotelBookingSystem.HotelBookingSystemMain.Main()
На моята кошница тази грешка я няма! Не мога да намеря какво не се инстанцира.. Линк към github.
Всякакви мнения и препоръки са добре дошли.
Поздрави
Здравей,
Съгласен съм с теб, искам да кажа, че наскоро имах подобен проблем. И двата бяха породени от факта, че Judge-a може да подаде null и всъщност той така тества самата програмата т.е. всеки един край на теста завършва с подаване на null и затова ти гърми. При мен беше, че се опитвах да изчистя входа от ненужни празни пространства (url = Console.Readline().Trim();) още преди да съм го проверил дали подадения вход(url) е null и това доведе до гърмеж на всеки един тест с горе-долу подобно съобщение.
Надявам се съм изисянил защо се получава така! Поздрави :)
Мерси много за разяснението. Сега ми стана ясно защо е така. Понеже реално няма команда за изход и иначе цикъла ще върти безкрайно. Явно judge така спира програмата. Направи ми впечатление, че няма команда за приключване на програмата, но това не ми беше хрумвало.
Ще се застрелям... Аз умишлено го промених защото си мислех, че няма как да подаде null... Благодаря.
Поздрави
Така работи stdin (и като цяло input потоците), guys :-))
Потокът се счита за "изтекъл", когато се опиташ да вземеш нещо от него ( Console.ReadLine() ) и не получиш нищо ( null ). Например в C, ако четеш със scanf() ще ти върне -1 при край на потока (End Of File например).
Аналогично е и четенето на файлове, без по-голяма абстракция отгоре (като ReadToEnd) в C#. След прочитане на последния ред, ако опиташ да прочетеш пак - получаваш null :) И да, върху null не може да направиш Trim() (или каквато и да е друга операция)
Ясно. Знаех си, че трябва да прочета темата за работа с файлове, ама все не ми остава време...
Bottleneck: UserController -> EnsureNoLoggedInUser()
Като го оправиш и ако ти гръмне първия път, пробвай пак. На последните два теста: