Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

manito_17711 avatar manito_17711 43 Точки

[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.

Всякакви мнения и препоръки са добре дошли.

 

Поздрави

Тагове:
0
C# OOP Advanced 01/02/2016 15:49:18
RFilipov avatar RFilipov 136 Точки

Подобни проблеми при VehicleParkSystem. При мен всичко е наред, в Judge грешки по време на компилация.

Нулев тест №2 (Грешка по време на изпълнение)
Резултатът от нулевите тестове не се включва към крайния резултат.
The vehicle park has not been set up
The place (1,5) is occupied
There is already a vehicle with license plate CA1001HH in the park
There is already a vehicle with license plate CA1001HH in the park
There is no vehicle with license plate AA2233HH in the park
There is no vehicle with license plate CA1001HH in the park
No vehicles by John Smith
No vehicles by Jay Margareta

Програмата дава верен резултат на всички тестове, които съм пробвал.

0
31/01/2016 15:44:02
Ivaylo.Goranov avatar Ivaylo.Goranov 68 Точки

В Engine-а, в while цикъла на Run метода първата условна конструкция я правиш на url == null, а не на url == string.Empty и минаваш в judge всички тестове без предпоследния, който според мен е някакъв bottleneck, но и аз още не съм го намерил, така че не мога да ти помогна.

Успех!

П.С. Като оправиш този bottleneck, може да пишеш.

@RFilipov Руслане, предполагам, че и при теб е такъв проблема. Може да пробваш. Ако не стане така, може да пробваш да оградиш логиката след четенето от конзолата и след условната конструкция, която проверява за нулев вход, в една условна конструкция, която проверява за url != string.Empty. При мен изпита с виетнамските театри гърмеше в judge, докато не го направих така.

 

2
01/02/2016 09:40:38
Gesh4o avatar Gesh4o Trainer 305 Точки

Здравей,

Съгласен съм с теб, искам да кажа, че наскоро имах подобен проблем. И двата бяха породени от факта, че Judge-a може да подаде null и всъщност той така тества самата програмата т.е. всеки един край на теста завършва с подаване на null и затова ти гърми. При мен беше, че се опитвах да изчистя входа от ненужни празни пространства (url = Console.Readline().Trim();) още преди да съм го проверил дали подадения вход(url) е null и това доведе до гърмеж на всеки един тест с горе-долу подобно съобщение. 

Надявам се съм изисянил защо се получава така! Поздрави :)

1
Ivaylo.Goranov avatar Ivaylo.Goranov 68 Точки

Мерси много за разяснението. Сега ми стана ясно защо е така. Понеже реално няма команда за изход и иначе цикъла ще върти безкрайно. Явно judge така спира програмата. Направи ми впечатление, че няма команда за приключване на програмата, но това не ми беше хрумвало.

1
01/02/2016 09:47:52
manito_17711 avatar manito_17711 43 Точки

Ще се застрелям... Аз умишлено го промених защото си мислех, че няма как да подаде null... Благодаря.

 

Поздрави

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