Denne bloggen vil utdype mot og takle “NumberFormatexception”I Java.
Hva er "NumberFormatexception" i Java?
“NumberFormatexception”Tilsvarer et unntak i Java når et forsøk blir gjort for å transformere en streng som har et feil format til en numerisk verdi. Konverteringen gjøres via "parseint ()”Metode. Denne metoden henter den primitive datatypen av “Streng”.
Syntaks
parseint (x, y)I denne syntaksen:
Ideell sak
Følgende eksempel forklarer det ideelle saksscenariet for å transformere strengen til et heltall uten begrensninger:
int x = heltall.parseint ("30");I koden ovenfor, bruk trinnene under leverte:
Produksjon
I denne utgangen kan det observeres at "heltall”Representasjon av strengen hentes deretter.
Årsakene til den "nummerformatexception" i Java i Java
“NumberFormatexception”I Java kan du oppstå av flere grunner. La oss gå gjennom hver av grunnene en etter en.
Tilfelle 1: tom inngangsstreng
I dette tilfellet kan det diskuterte unntaket bli møtt på grunn av en "tømme”Streng passerte som“parseint ()”Metodens parameter som må konverteres til et heltall:
int x = heltall.parseint ("");Produksjon
Tilfelle 2: Nullinngangsstreng
I dette scenariet kan unntaket bli møtt på grunn av det spesifiserte “null”Nøkkelord som metodeparameter:
int x = heltall.parseint (null);Produksjon
Merk: Unntakserklæringen er identisk i begge de ovennevnte tilfellene siden verdien som metodens parameter vurderes “null”.
Tilfelle 3: Inngangsstreng med flere symboler
Å inkludere ekstra symboler i strengen kan også resultere i det diskuterte unntaket, som følger:
System.ute.Println (heltall.parseint ("1,23"));Produksjon
Sak 4: Ikke-numerisk inngangsstreng
En ikke-numerisk streng, jeg.e., “Trettifem”I dette tilfellet kan også forårsake“NumberFormatexception" å oppstå:
int x = heltall.parseint ("Trettifem");Produksjon
Tilfelle 5: Inngangsstreng som overstiger området
Maksimal grense for “parseint ()”Metoden er å akkumulere”11" tegn. Området som overstiger dette tallet kan også vise den diskuterte feilen, som vendt nedenfor:
int x = heltall.parseint ("123452347684933");Produksjon
Tilfelle 6: Inngangsstreng med alfanumeriske data
I denne situasjonen kan den uttalte begrensningen bli møtt på grunn av at de inneholdte alfabeter og tall samtidig blir transformert til et heltall:
int x = heltall.parseint ("Tretti 1");Produksjon
Sak 7: Uoverensstemmende datatype
Misforholdet i “komme tilbake”Type og den spesifiserte”data-type”Kan også resultere i å møte den diskuterte begrensningen:
int x = heltall.parseint ("30.6 ");Merk at i dette tilfellet er returtypen "Heltall,”Men den spesifiserte datatypen er“flyte", Jeg.e., 30.6.
Produksjon
Tilfelle 8: Input Streng med polstrede hvitespaser
De polstrede hvitespeddene i starten eller slutten kan også være en grunn til at en slik feil blir møtt:
int x = heltall.parseint ("30");Produksjon
Dette handlet om den masse begrensningen i forskjellige scenarier. La oss nå diskutere tilnærmingen for å eliminere den diskuterte begrensningen.
Hvordan håndtere “Numberformatexception” i Java?
Det diskuterte “NumberFormatexception”Begrensning i Java kan imøtekommes ved bruk av“Prøv ... fangst”Uttalelse ved å fange opp unntaket i“å fange”Blokk:
prøvI dette kodebiten, bruk følgende trinn:
Produksjon
Fra dette utfallet kan det antydes at unntaket er taklet på riktig måte.
Konklusjon
“NumberFormatexception”I Java blir møtt når det blir gjort et forsøk på å transformere en streng med feil format til et heltall. Dette unntaket kan være forårsaket på grunn av flere diskuterte årsaker, i.e., polstrede hvitespasninger i strengen, overskredet strenggrense, etc., og kan takles via “Prøv ... fangst”Uttalelser. Denne bloggen diskuterte tilnærmingene til å møte og takle “NumberFormatexception”I Java.