У програмским језицима, наилазећи на грешке нам омогућавају да извршимо различите функционалности на одговарајући начин тако што ће то затражити од програмера. У том случају, могу постојати случајеви у којима се програмер може суочити са „ јава.ланг.НуллПоинтерЕкцептион “на одређеном” нула ” вредност док се бавите масовним подацима. Овај изузетак треба да се обради како би се поједноставиле функционалности кода.
Овај блог ће разрадити приступе за суочавање са „ јава.ланг.НуллПоинтерЕкцептион ”.
Како решити „јава.ланг.НуллПоинтерЕкцептион“?
„ јава.ланг.НуллПоинтерЕкцептион ” се враћа када се позове (или дереференцира) референтна променљива и не односи се ни на један објекат.
Демонстрација „јава.ланг.НуллПоинтерЕкцептион“
На доле наведеној илустрацији, видећемо како долази до разматраног изузетка:
Стринг с = нулл;
цустомФунц ( с ) ;
статиц воид цустомФунц ( Стринг стр ) {
Систем.оут.принтлн ( стр.ленгтх ( ) ) ;
}
У горњем исечку кода:
-
- Прво, иницијализујте стринг са „ нула ” вредност.
- У следећем кораку, позовите функцију цустомФунц() тако што ћете проследити декларисани стринг као његов аргумент.
- Након тога, дефинишите функцију под називом „ цустомФунц() ” тако што ћете навести стринг који треба да се проследи као његов параметар.
- У дефиницији функције вратите дужину прослеђеног стринга преко „ дужина ' имовина.
- Овај код ће функционисати тако да преношењем „ нула ” вредности за функцију, разматрани изузетак ће бити избачен:
У горњем излазу, може се приметити да је „ НуллПоинтерЕкцептион ” се баца при позивању „ нула ” као аргумент функције.
Приступ 1: Решите „јава.ланг.НуллПоинтерЕкцептион“ користећи „три…цатцх“ изјаве
„ покушати ” наредба помаже у дефинисању блока кода који треба да се тестира на грешке током извршавања и „ улов ” наредба ступа на снагу у случају да се наиђе на ограничење у блоку три. Тачније, „ јава.ланг.НуллПоинтерЕкцептион ” се може задовољити применом жељене операције у блок „покушај” и постављањем вероватног изузетка у блок „хватање”.
Синтакса
покушати {Блок кода за покушај
}
улов ( Изузетак е ) {
Блок кода за руковање суоченим изузетком ин блок покушаја
}
Пример
Хајде да прегледамо доле наведени пример:
Стринг с = нулл;цустомФунц ( с ) ;
статиц воид цустомФунц ( Стринг стр ) {
покушати {
Систем.оут.принтлн ( 'Први знак:' + стр.индекОф ( 0 ) ) ;
}
улов ( НуллПоинтерЕкцептион е ) {
Систем.оут.принтлн ( „НуллПоинтерЕкцептион је бачен!“ ) ;
} }
У горњим редовима кода:
-
- Подсетите се разматраних приступа за иницијализацију „ нула ” и позовите наведену функцију тако што ћете проследити нулту вредност као њен аргумент.
- Сада, такође, дефинишите функцију под називом „ цустомФунц() ” који има стринг који треба проследити као параметар.
- Након тога, примените „ покушати ” за преузимање индекса наведеног карактера у стрингу преко „ индекс() ” метод.
- Имајте на уму да „ покушати ” се може извршити ако стринг није нулл. Пошто је вредност „ нула “, тако да ће се наићи на изузетак који ће обрађивати „ улов ' изјава.
Излаз
У горњем излазу, може се видети да је наведени изузетак обрађен помоћу „ улов ” и тако се баца, чиме се решава.
Приступ 2: Решите „јава.ланг.НуллПоинтерЕкцептион“ користећи „иф/елсе“ изјаву
Дискутовани изузетак се такође може решити путем „ ако друго ' изјава. Ово се може урадити једноставним извођењем жељене операције у „ ако ” и ако услов није задовољен, изузетак се враћа преко „ друго ' изјава.
Синтакса
ако ( конд ) {Изјава која се извршава под испуњеним условом, тј.
}
друго {
Изјава се извршава над незадовољним 'ако' стање.
}
Пример
Прођите кроз следећи пример да бисте разумели како да се носите са изузетком:
Стринг с = нулл;цустомФунц ( с ) ;
статиц воид цустомФунц ( Стринг стр ) {
ако ( стр ! = нулл ) {
Систем.оут.принтлн ( 'Први знак:' + стр.индекОф ( 0 ) ) ;
}
друго {
Систем.оут.принтлн ( „НуллПоинтерЕкцептион је бачен!“ ) ;
}
}
Примените кораке о којима се говори у наставку као што је дато у горњем коду:
-
- Поновите разматране кораке за иницијализацију нул вредности и позивање функције преношењем „ нула ” вредност као свој аргумент.
- Затим, на сличан начин прогласите функцију „ цустомФунц() ” који има наведени параметар.
- Сада примените „ ако друго ” изјава таква да под испуњеним условом у „ ако ” извршава се одговарајући блок.
- У другом случају, „ друго ” ће ступити на снагу и избацити разматрани изузетак.
- Имајте на уму да је услов у „ ако ” изјава је идентична претходном приступу, чиме се фалсификује.
Излаз
Тако можете да се носите са „ јава.ланг.НуллПоинтерЕкцептион ”.
Закључак
„ јава.ланг.НуллПоинтерЕкцептион ” се враћа када се референтна променљива позове или дереференцира и не упућује ни на један објекат. Овај изузетак се може решити постављањем у „ покушај да ухватиш ” тако да по извршењу „ покушати ” блок, суочени изузетак може бити опскрбљен другим блоком. Такође, „ ако друго ” изјава се може користити за решавање овог изузетка тако што ће се ставити у „ друго ” изјава ако је “ ако ” наредба не успева да се изврши. Овај блог је расправљао о приступима за суочавање са „ јава.ланг.НуллПоинтерЕкцептион ”.