Порука о грешци: јава.ланг.НуллПоинтерЕкцептион - шта урадити?
Компајлер проверава писани програм за све осим једног: изузеци током извођења. Такав изузетак је, на пример, НуллПоинтерЕкцептион, који припада основном пакету јава.ланг у програмском језику Јава.
Када преводилац баца јава.ланг.НуллПоинтерЕкцептион?
Изузеци се често дешавају током фазе испитивања. Ово се посебно односи на НуллПоинтерЕкцептион, са којим се обично сусреће почетник када је у питању програмирање. Тачније, то је променљива која указује на празан објект. На пример, грешка се јавља у следећим случајевима:
- Када се елементу матрице приступа и елемент нема вриједност.
- Када постављате упит о дужини низа чија је вредност једнака нули.
- Ако је објект креиран без новог оператора и покушава се извести операције с референтном варијаблом.
- У нашем примјеру, даљински управљач је практички референтна варијабла (поинтер) која упућује на стварни објект штампача. Ова варијабла користи се за обављање операција као што су слање порука о грешци на штампач, израчунавање нивоа мастила итд. Ако даљински управљач упућује на празан објект или на ниједан објект, референтна варијабла има вредност нула.
Како да поправите поруку о грешци
Изузеци се могу ухватити под Јавом блоком " три {...} цатцх {(Изузетак е)} ". Међутим, ова метода није увек неопходна и ствара и режијске трошкове. Боље је имати на уму следеће савете:
- Проверите да ли је ваш објекат креиран. Ако то није случај, креирајте га користећи синтаксу наредбе " сампле објецт наме = нев сампле објект (променљиве); ".
- Помоћу режима уклањања погрешака можете провјерити линију кода по линију и прегледати посредне резултате. Пазите да не замените створени објект или га сачувате са НУЛЛ вриједношћу. То значи да објект више није доступан и даљње наредбе објекта покрећу погрешку.
- Савет: Ако често мењате свој објект, навикавајте се на проверу вашег објекта пре и после фундаменталних промена користећи упит ако („ иф (пример објекта ! = НУЛЛ) {...} ").
У следећем практичном савету објаснићемо како можете користити Ламбда Екпрессионс на Јави.