Telefonia, Prugrammazione
Java: eccezzioni è a so mugnera
Ogni programma vi upirari stably solu s'è u codice surgente hè debugged, è ùn ci sò micca i cundizioni chì pò causari situazzioni adopru. U prucessu di piscadore pussibili fiaschi hè rializatu in u parcu di prugrammazione. A fari chistu, l 'documentaliste piglia in contu tutte e outcomes s'aspittàvanu e prova à limità i effettu di l' errore tantu chi nun putìa 'ntirfiriri ccu lu funziunamentu di u prugramma, o azzione à u so verra fridda.
Quandu vi putissi bisognu di a mugnera foras
In Java, una eccessione pò causatu da entrée a me sgarratu, senza bisognu di una risorsa o issu prugrammu Prunella reta. Di usu asgiata creatu da u documentaliste appiecu, vi tocca à cuntrullà la pussibbilità di situazzioni emergenza. U cunsumadore ùn deve avè à aspittà à sgagiatu un appiecazione, a perdiri dati com'è un risultatu di una eccessione unhandled, o appena parte di u missaghju, pare chì stabilisce chì qualcosa si n'andò sbagghiatu.
Assicurà eccezzioni Java
Cosa à guardà? A lingua Java hà u so propriu comu funziunalitati, mugnera, foras custruitu-in. Di sicuru, un grande pircintuali di errore hè pigliatu da un altru stadiu divisa, u sistema vi mintuvà automaticamente chì usu hè micca più pussibili. Ma ci hè stu tipu di eccessione chì si faci à Runtime. U documentaliste duvia esse in gradu to anticipate si è à cuncepisce u codice tantu chì ùn hà incausatu un errore, è handled lu in un modu particulari è datu u cuntrollu di un antru ramu.
In Java, issu hè impostu da u compiler à acchiappatu un eccezzioni, tantu i prublemi tipica sunnu canusciuti e hannu un essayer teacher mudellu.
exclusions tipico
L'esempiu sèmplice, in cui vi pò aviri na foras - stu gruppu. Nunustanti la so simplicità, in termini di comu un Glitter divider, pò esse zeru, chi vi risultatu in un errore. Bè, s'ella hè pussibule à predict a nascita di u passatu è impedisce. Ma sta funziunalità ùn hè micca sempre disponibile, tantu piscadore l 'eccezzioni deve esse organizatu direttamente in lu casu di "dividi da zeru".
U meccanisimu Java a intercept errore trasfurmazioni pari like this:
- hè creatu oggettu foras mansa, oltri ca comu ogni altru;
- lu cursu naturale di u prugramma hè interrompu;
- miccanisimu Manuguerra hè prova à truvà una manera alternativa à cuntinuà u codice;
- Truvà un esicuzzioni sicuru di u prugrammu in lu prucissuri, u travagliu, o mantene, o vi accade realisazione di foras in un modu particulari.
L'esempiu sèmplice di crià un errore putìrisi like this:
se (un null null ==)
graputi novu NullPointerException ();
Quì, u variàbbili un hè verificatu à initialization, vale à dì, ùn hè micca natu u riferimentu à un oggettu null null. Sè sta situazioni hè ghjuntu è bisognu di a mugnera spiciali, un eccezzioni hè ghjittatu da un tiru novu NullPointerException ().
Qualchi détails circa segni
Quandu droghe cu eccezzioni hè spessu necessariu à aduprà u segnu java pi rifèririsi a na particulari l 'azzioni. Sta lingua di a so prugrammazione cinque:
- Prova. Stu segnu hè digià scontra, e si significa un passaggiu in una rùbbrica di u corsu chì pò jittari un eccezzioni. Block aculate limitata {}.
- Catch. It intercepts u tippu foras Bramati è trattà lu appropriately.
- Infini. Stu segnu hè vuòti e veni usatu di fà un certu pezzu di còdice chì hè necessariu di sbluccà, ancu s'ellu ùn foras ùn hè pigliatu. Aghjuntu direttamente dopu à pacchettu capitulo.
- Graputi - Languages voi creà eccezzioni Java da partutu.
- Lancia - un segnu chi serbit a la signature in pràtica. Volesi dì chì i seguenti codice ponu ittari un eccezzioni di stu tipu Java. Stu Marque serve cum'è un segnale di lingue chì tocca à esse parturitu in mente - u mètudu ùn pò travagghiari comu chiddu di l '.
E prigione cù una capitulo
Release à eccezzioni Java, pigghia naturalmente chì si hà da esse handled in un modu particulari. U modu più còmuda di fà la, s'è i sizzioni codice hè fenced cumming in un pezzu. Chì pò cuntene una eccessione. Quandu vi curriri stu codice, u virtual truvarete una situazione mpruvisa, capisce chì ci hè un pezzu critica è spustamenti di cuntrullà a stazione cu lu prucessu futucràficu.
U codice Java hè criatura in un statutu pezzu capitulo, ntra cui pò esse una eccessione. Cusì, si misi a parechje situazzioni adopru chì hà da esse pigliatu à u listessu locu, micca codice raspolzayas.
U codice più tipicu di l 'unità di trasfurmazioni hè a siguenti:
pruvà {
// Here hè qualchì codice chì pò pruduce una eccessione
} Catch (Tip_isklyucheniya_1 identifikator_1) {
// Quì ci hè a mugnera eccessione, sicondu à u so tippu e cundizioni;
} Catch (Tip_isklyucheniya_2 identifikator_2) {
// Quì ci hè a mugnera eccessione, sicondu à u so tippu e cundizioni;
}
Keyword caccia Puglia chì u corsu, e scanning hè per un eccezzioni, per esse trattatu cum'è discritta quì sottu, furnì chì si oghji cù u so tippu. L'iniziale pò ièssiri usatu a trasfurmeghja u pacchettu codice com'è argumenti.
finalmenti
As divinni chjaru da u capitulu prima, blocchi caccia acchiappari eccezzioni è li manighjà. Ma assai spissu la situazioni Nasci induve jissi qualchì codice, a priscinniri di s'ellu si ristasti sbagli. Per sta ci hè u segnu infini. Si hè usatu à cresce i valori di i diversi gittuna, s'ava fattu i schedari, o culligamenti a reta.
Sta trama prisenta parechji blocchi caccia inventata i metudi acchiappari eccezzioni. Per esempiu, u codice cuntenute in i capitulo rende una situazione mpruvisa cume Cold. Allora, l 'stimulus sarà mustratu sprissioni «In lu friddu!» E «Is chi calcosa à clap circa?». Chì hè, u infini pacchettu hè realizatu in ogni casu.
In fatti, una manera di schisà Dà finalmenti ci. Hè culligatu cu l 's'avissa cumpritatu la virtual. Truvà quantu à azzione hè, hè pussibili u spaziu aperta Internet.
segnu tiru
Tiru rende una eccessione. U so sintassa hè a siguenti:
graputi novu NewException ();
Ci hè criatu un novu eccezzioni a tipu NewException (). Cum'è un tippu pò ièssiri usatu hè digià inclusa in la classi biblioteca Java mudellu è esiste difiniti da u documentaliste di a so pruduzzione.
Stu disignu hè a parti di u Lacu di ogni mètudu, ca la chiamata duvia tandu esempiu ind'a u pacchettu capitulo, in modu à pudè intercept lu.
Keyword s'abbìa
Cosa sè in u prucessu di u sviluppu di una situazione induve lu mètudu ponu ittari un eccezzioni, ma ùn sò micca in gradu di trattà bè. À sta fine, in u rinumatu mètudu specifies a parolla lancia e tipu di pussibili eccezzioni.
Stu labellu hè un tipu di volume di sviluppori cliente chì u mètudu ùn hè capaci à dà capu à u so listessu eccessione. In più, s'ellu u tippu errore hè verificatu, allura l 'compiler vi furzà altrimente dumandu di it.
Prova di risorsi
I sviluppori Java versione 7 sò incluse una grandi innuvazione, comu un pezzu cure capitulo cù risorsi.
Assai ughjetti sò creati in Java, dopu à usu deve esse chiudiri di cunservà a risorsa. Esiste si avianu a pigghiari sta in contu e firmavanu sti casi manually. Ora, però, si vede ste AutoClosable. Aiuta à st'articulu automaticamente uggetti digià usatu serbit in un pacchettu capitulo. À traversu sta dimarchja hè divintatu più còmuda di scrive u corsu in u so readability hè mudificà cresce.
classi so eccezzioni Java
A criatura di la lingua di prugrammazione discritta pigliò in contu parechji aspetti di u sorta disignu di emergencies. Però, tuttu di u ozzione à impedisce u risultatu di evenimenti ùn funziunaranu, tantu in Java realizatu a capacità di definisce e so eccezzioni, apprupriatu finiri à i bisogni di u codice particulare.
U più sèmplice a criari - a lascita da u più spone à u cuntestu oggettu.
Ci hè accadutu à a lascita da a foras, a formula chi veni usatu pi difiniri u vostru propriu eccezzioni. In MyException hà dui constructors - un difettu, u sicondu - cù lu argumentu tipu msg String.
Allora, in u mètudu f francese FullConstructors scola publica realizatu, chì cuntene u rinumatu s'abbìa MyException. Stu segnu significa chi m ponu ittari cum'è foras Java MyException. In seguita, in lu corpu, lu mètudu pruduciutu testu pruduzzioni infurmazioni à i stimulus stessa è u MyException attuale generazione, da tiru.
Lu secunnu lu mètudu hè pocu sfarente da u prima unu chi quandu tù creà una eccessione, hè passatu un paràmetru catena, chì vi pò dunau a lu stimulus à piscadore. In u principale hè chjaru chì u f () è g & () sò posti in un ora lìmita capitulo è caccia segni permette a catturari MyException. U risultatu di trasfurmazioni hè à vede un errore di u stimulus:
Cusì si ghjunse à aghjunghje eccezzioni Java, da a so manu.
eccezzioni architettura
As cù tutte e rùbbriche in Java, eccezzioni sò dinù in lascita e hannu un feuilletée. L'elementu ràdica di tutti i sbagli ittatu a sta lingua di prugrammazione hè classi java.lang.Throwable. Lascita da u dui tipi - Errore e foras.
Error - signa u errore critica è hè eccezzioni Java unanimità. Interception e trasfurmazioni tali dati in più casi si faci a la scena, disegno è micca in bisognu di inizià in u codice dumanda finali.
I classi cchiù cumunimenti usatu per furmà e ppi l 'eccezzioni hè eccessione. Chi, a sò vota, veni divisu in parechji, rami, cumpresi RuntimeException. By RuntimeException sò eccezzioni Runtime, chì hè, maiò durante u prugramma. Tutti i classi dirivatu da lu sò unverifiable francese.
À spessu ci sò eccezzioni
In eccezzioni Java, la lista di chì hè prisenta sottu, hè usatu cchiù spissu, accussì tu avissi a discrìviri ognunu d'iddi a tecnica:
- ArithmeticException. Quessi sò numarosi assuciata incù funziunamentu di Aritmetica. L'esempiu più glaring - u gruppu da zeru.
- ArrayIndexOutOfBoundsException - un appellu à u numeru elementu partita chi vinci u cartulare di u so lunghezza.
- ArrayStoreException - tintativu di stabilisce un tipu elementu cumpatìbuli unu di i partita.
- ClassCastException - un tintativu di purtari a unu tipu tortu à un altru.
- IllegalArgumentException - cù l 'argumentu tortu a la chiamata mètudu.
- NegativeArraySizeException - una eccessione quandu vi creà una partita di taglia negativu.
- NullPointerException - troppu cunsumazione di referenze à null.
- NumberFormatException - si faci quandu una cunversione String tortu à nteru.
- UnsupportedOperationException - quessu ùn hè suppurtatu.
Sti esempi rapprisèntanu l 'tippi di eccezzioni Java unanimità. Ma cusì tanta verificatu:
- ClassNotFoundException - Class micca trovu.
- IllegalAcccessException - limità un accessu à i classi.
- InterruptedException - ntirmittenzi di u flussu.
- NoSuchFieldException - ci sò micca campu riservazioni.
A spiigazione di l 'eccezzioni
Parlà di eccezzioni friquenti scontru S'avissi a nutari ca a so intarpritazioni in lu disignu, pò esse chì cunniscia incorrectly. Next hè una corta a lista spiigà in più tecnica, induve ci pò esse una situazione inaspettata.
NullPointerException. U assai prima casu, quandu ci hè un eccezzioni, hè a appellu à una rifarenza à un oggettu chì hè uguali à null. Si stendi dinù à u zeru i metudi esempiu di classi. NullPointerException pò esse legatu à u casu di pigliatu una lunghezza panoplia null null uguali. Pi evitari tali situazzioni vi cuntrolla periodically siti u null null.
ArrayIndexOutOfBoundsException. Ogni prugrammu ùn pò esisti, senza l 'usu di Linguastat. Pràtica, l 'ricursu friquenti a si pò pruduce è errore. Foras puru quannu un documentaliste prova à tuccà un elementu partita chì ùn hè micca in a lista accogliu. Per esempiu, u valore dumandatu hè sopra o sottu a durata zeru. Assai spessu hè un risultatu di u fattu chì in a partita principia cù un partitura di zeru.
scuperti
Assicurà eccezzioni Java - na putenti ambienti strumentu, chì favurizeghja ammiranu i travagli di u so editore, è permette ci di creà una pulita è tichja di numarosi codice. On dumanda funziunamentu pasta liscia e la stadda dipenda da u so statutu è riputazioni di u documentaliste.
Di sicuru, in un sistema di più o di menu sèmplice a vecchia P'acchianari a situazzioni nurmali assai cchiù sèmplici. Ma in grande calculus autumàticu per uni pochi di centu mila solcu hè pussibili solu cum'è un risultatu di sap e debugging-longu andà.
Di Java errore foras da cui à truvà in qualchi appiicazioni, certi cumpagnii porghju una ricumpensa quand'elli truvà visità. Soprattuttu apprizzati da quelli chi facissi un ratio di i prugrammi pulitichi di sicurità.
Similar articles
Trending Now