Kọmputa, Siseto
Java: imukuro ati awọn won mu
Eyikeyi eto yoo ṣiṣẹ stably nikan ti o ba awọn orisun koodu ti wa ni debugged, ati nibẹ ni o wa ti ko si ipo ti o le fa idagiri ipo. Awọn ilana ti mimu ti ṣee ṣe ikuna wa ni ti gbe jade lori siseto ipele. Lati ṣe eyi, awọn Olùgbéejáde gba to sinu iroyin gbogbo awọn reti awọn iyọrisi ati ki o igbiyanju lati se idinwo awọn ipa ti awọn aṣiṣe ki o ko le dabaru pẹlu awọn isẹ ti awọn eto, tabi ja si awọn oniwe-Collapse.
Nigba ti o ba le nilo sile mu
Ni Java, ohun sile le ti wa ni šẹlẹ nipasẹ ti ko tọ olumulo input, ko si nilo fun a oluşewadi tabi lojiji nẹtiwọki asopọ eto. Fun itura lilo da nipa awọn ohun elo Olùgbéejáde, o gbọdọ šakoso awọn iṣẹlẹ ti pajawiri ipo. Awọn onibara yẹ ki o ko ni lati duro lati olodun ohun elo, lati padanu data bi kan abajade ti ohun unhandled sile, tabi o kan apakan ti a ifiranṣẹ han siso wipe nkankan lọ ti ko tọ.
Mimu Java imukuro
Ohun ti lati ro? The Java ede ni o ni awọn oniwe-ara-itumọ ti ni sile mu iṣẹ-. Dajudaju, kan ti o tobi ogorun ti aṣiṣe ti wa ni mu nipasẹ miiran akopo ipele, awọn eto yoo laifọwọyi leti pe lilo ti o ko si ohun to ṣee ṣe. Ṣugbọn nibẹ ni yi ni irú ti sile ti o waye ni asiko isise. Awọn Olùgbéejáde yẹ ki o wa ni anfani lati fokansi o ati ki o to ṣe ọnà awọn koodu ki o kò fa ohun ašiše, ati ki o lököökan o ni ona pataki kan ki o si fà lori Iṣakoso si miiran ti eka.
Ni Java, yi ti ni ti paṣẹ nipasẹ awọn alakojo lati yẹ ohun sile, ki awọn aṣoju isoro ti wa ni mo ati ki o ni a boṣewa idaraya elo.
aṣoju itisode
Awọn alinisoro apẹẹrẹ, ninu eyi ti o le gba ohun sile - yi pipin. Pelu awọn oniwe-ayedero, ni awọn ofin, bi a divider, o le je odo, eyi ti yoo ja si ni ohun ašiše. Daradara, ti o ba jẹ ṣee ṣe lati ṣe asọtẹlẹ awọn farahan ti o ti kọja ati ki o se. Ṣugbọn yi aṣayan jẹ ko nigbagbogbo wa, ki ni mimu awọn sile yẹ ki o wa ni ṣeto taara ninu awọn iṣẹlẹ ti "pin nipa odo".
The Java siseto lati ikolu processing aṣiṣe wulẹ bi yi:
- òkiti sile ohun ti wa ni da, bi daradara bi eyikeyi miiran;
- awọn adayeba papa ti awọn eto ni alọhẹndotena;
- iyasoto siseto ti wa ni gbiyanju lati wa ohun yiyan ona lati tesiwaju awọn koodu;
- Wa a ailewu ipaniyan ti awọn eto ninu awọn isise, ise tabi pada, tabi yoo waye riri gan ti sile ni ona pataki kan.
Awọn alinisoro apẹẹrẹ ti ṣiṣẹda ohun ašiše le wo bi yi:
ti o ba ti (a == asan)
jabọ titun NullPointerException ();
Nibi, awọn ayípadà a wa ni ẹnikeji ni initialization, ie, ni ko boya awọn tọka si a asan ohun. Ti o ba ti ipo yìí ti dìde ati ki o nilo pataki mu, ohun sile ni da nipa a jabọ titun NullPointerException ().
Diẹ awọn alaye nipa koko
Nigbati awọn olugbagbọ pẹlu imukuro ni igba pataki lati lo Koko Java to tọka si kan pato igbese. Yi ede ti won marun siseto:
- Gbiyanju. Yi Koko wa ni tẹlẹ pade, ati awọn ti o tumo si a orilede sinu kan apakan ti koodu ti o le jabọ ohun sile. Àkọsílẹ lopin àmúró {}.
- Apeja. O ikolu awọn ti o fẹ sile iru ki o si mu awọn ti o bojumu.
- Níkẹyìn. Eleyi Koko ni iyan ati ki o ti wa ni lo lati ṣe kan awọn nkan ti koodu, eyi ti o ti beere lonakona, paapa ti o ba ko si sile ti ko ba mu. Fi kun taara lẹhin ti gbiyanju Àkọsílẹ.
- Jabọ - jẹ ki o ṣẹda Java imukuro lati nibikibi.
- Ju - a Koko ti o wa ni gbe ni awọn ọna Ibuwọlu. O tumo si wipe awọn wọnyi koodu le jabọ ohun sile ti yi iru Java. Eleyi ami Sin bi ifihan agbara kan si kóòdù ti o nilo lati wa ni igbe kakiri ni lokan - awọn ọna ti o le ko ṣiṣẹ bi o ti ṣe yẹ rẹ.
Ni mimu pẹlu kan gbiyanju
Tu to Java imukuro, nipa ti dawọle wipe o yoo wa ni lököökan ni ona pataki kan. Awọn julọ rọrun ona lati se ti o, ti o ba awọn koodu apakan ti wa ni lule ni pipa ni a Àkọsílẹ. Eyi ti o le ni awọn ohun sile. Nigba ti o ba ṣiṣe awọn yi koodu, awọn ti foju ẹrọ yoo ri ohun airotẹlẹ ipo, ni oye wipe o wa ni a lominu ni Àkọsílẹ ati awọn gbigbe sakoso si ibudo pẹlu awọn processing.
The Java koodu ti wa ni ti a we ni pataki kan Àkọsílẹ gbiyanju, laarin eyi ti o le jẹ ohun sile. Bayi, o gbe orisirisi idagiri ipo ti yoo wa ni mu ni ibi kanna, kì raspolzayas koodu.
Awọn julọ aṣoju koodu si awọn processing kuro ni bi wọnyi:
gbiyanju {
// Eyi ni diẹ ninu awọn koodu ti o le se ina ohun sile
} Catch (Tip_isklyucheniya_1 identifikator_1) {
// Nibi nibẹ ni sile mu, gẹgẹ bi awọn oniwe-type ati ipo ti;
} Catch (Tip_isklyucheniya_2 identifikator_2) {
// Nibi nibẹ ni sile mu, gẹgẹ bi awọn oniwe-type ati ipo ti;
}
Koko apeja Ijabọ wipe koodu, ki o si ọlọjẹ o fun ohun sile, lati le ṣe mu bi a ti salaye ni isalẹ, pese pe o complies pẹlu awọn oniwe-iru. Awọn idamo le ṣee lo ninu processing awọn koodu Àkọsílẹ bi ariyanjiyan.
Níkẹyìn
Bi o ti di ko lati išaaju ipin, apeja ohun amorindun yẹ imukuro ati ilana wọn. Ṣugbọn gan igba awọn ipo Daju ibi ti o yẹ ki o ṣiṣe diẹ ninu awọn koodu, laibikita boya ti won ni won mu awọn aṣiṣe. Fun yi nibẹ ni Koko nipari. O ti wa ni lo lati mu awọn iye ti awọn orisirisi awọn ounka, miiran ti awọn faili tabi nẹtiwọki awọn isopọ.
Yi Idite iloju orisirisi awọn apeja awọn bulọọki se awọn ọna yẹ imukuro. Fun apẹẹrẹ, awọn koodu ti o wa ninu awọn gbiyanju gbogbo ohun airotẹlẹ ipo bi Cold. Nigbana ni, awọn console yoo han ikosile «mu tutu!» Ati «Se nkankan lati pelu idunnu nipa?». Ti o ni, awọn nipari Àkọsílẹ ti wa ni executed ni eyikeyi irú.
Ni o daju, a ona lati yago fun nfa nipari nibẹ. O ti wa ni ti sopọ pẹlu awọn Ipari ti awọn foju ẹrọ. Ri bi o lati se o, o jẹ ṣee lori ayelujara ìmọ awọn alafo.
jabọ Koko
Jabọ gbogbo ohun sile. Awọn oniwe-sintasi jẹ bi wọnyi:
jabọ titun NewException ();
Nibẹ ni da a titun sile si awọn iru NewException (). Bi awọn kan iru le ṣee lo ni tẹlẹ to wa ni awọn boṣewa Java ìkàwé kilasi ati tẹlẹ asọye nipa awọn Olùgbéejáde ti awọn oniwe-ara gbóògì.
Yi oniru jẹ apakan ti awọn apejuwe ti eyikeyi ọna, eyi ti awọn ipe yẹ ki o ki o si waye laarin awọn gbiyanju Àkọsílẹ, ni ibere lati wa ni anfani lati ikolu o.
Koko ju
Ohun ti o ba ni awọn ilana ti idagbasoke ti a ipo ibi ti awọn ọna ti o le jabọ ohun sile, sugbon ni o wa ko ni anfani lati mu awọn daradara. Lati yi opin, ninu awọn ọna Ibuwọlu so awọn ọrọ ju ati iru ti o ti ṣee imukuro.
Eleyi aami ni kan Iru Atọka fun ose Difelopa ti awọn ọna ti o jẹ ko ni anfani lati mu awọn wọn kanna sile. Ni afikun, ti o ba awọn aṣiṣe iru wa ni ẹnikeji, ki o si awọn alakojo yoo ipa kedere beere fun o.
Gbiyanju lati oro
The Java version 7 Difelopa ti o wa a pataki ĭdàsĭlẹ, bi a itọju gbiyanju Àkọsílẹ pẹlu oro.
Ọpọlọpọ awọn ohun ti wa ni da ni Java, lẹhin lilo yẹ ki o wa ku si isalẹ lati se itoju oro. Tẹlẹ ti o ni lati ya yi sinu iroyin ki o si da awon instances pẹlu ọwọ. Bayi, sibẹsibẹ, ti won han AutoClosable ni wiwo. O ṣe iranlọwọ lati laifọwọyi pa tẹlẹ lo ohun gbe ni kan gbiyanju Àkọsílẹ. Nipasẹ yi ona ti o ti di diẹ rọrun lati kọ koodu ninu awọn oniwe-readability ti wa ni significantly pọ.
Ara kilasi Java imukuro
Awọn creators ti awọn apejuwe siseto ede mu sinu iroyin ọpọlọpọ awọn ise ti awọn oniru orisi ti awọn pajawiri. Sibẹsibẹ, gbogbo awọn ti awọn aṣayan lati se awọn abajade ti awọn iṣẹlẹ yoo ko sise, ki ni Java muse ni agbara lati setumo ara wọn imukuro, o jẹ o yẹ si awọn aini ti awọn pato koodu.
Awọn alinisoro ona lati ṣẹda - lati jogun lati awọn julọ yẹ si awọn ohun ti o tọ.
Nibẹ sele lati jogun lati Imukuro, awọn kilasi ti o ti lo lati setumo ti ara rẹ imukuro. Ni MyException ni o ni meji constructors - a aiyipada, awọn keji - pẹlu awọn ariyanjiyan alawor iru Okun.
Nigbana ni, ni gbangba ìyàrá ìkẹẹkọ FullConstructors muse ọna f, eyi ti o ni awọn Ibuwọlu ju MyException. Eleyi Koko tumo si wipe f le jabọ bi Java MyException sile. Siwaju si, ninu awọn ọna body yi ọrọ alaye wu si console ara ati awọn gangan iran MyException, nipa jabọ.
Awọn keji ọna ti o jẹ die-die o yatọ lati akọkọ ọkan ti o nigbati o ba ṣẹda ohun sile, o ti wa ni koja kan okun paramita, eyi ti yoo ninu awọn console ni mimu. Ni akọkọ o jẹ wipe ko f () ati g () ti wa ni gbe ni kan gbiyanju yiyewo ati ki o Koko apeja ni tunto lati Yaworan MyException. Awọn esi ti processing ni lati han ohun aṣiṣe ifiranṣẹ si awọn console:
Bayi ni o wá lati fi Java imukuro, nipa ara rẹ ọwọ rẹ.
faaji imukuro
Bi pẹlu gbogbo awọn ohun ni Java, imukuro ti wa ni tun jogun ati ki o ni a akosoagbasomode be. Awọn root ano ti gbogbo awọn aṣiṣe sọ ni yi siseto ede ni kilasi java.lang.Throwable. Jogun lati rẹ meji iru - Aṣiṣe ati Imukuro.
Aṣiṣe - awọn ifihan agbara awọn lominu ni aṣiṣe ati ki o jẹ sisoô Java imukuro. Interception ati processing iru data ni ọpọlọpọ igba waye ni awọn oniru ipele ati ki o ko ni nilo ti ni lenu wo ni ik ohun elo koodu.
Awọn julọ commonly lo kilasi fun ṣiṣẹda ati gbeyewo awọn imukuro ni Imukuro. Eyi ti, ni Tan, ti wa ni pin si orisirisi ẹka, pẹlu RuntimeException. Nipa RuntimeException ni o wa isise imukuro, ti o ni, sẹlẹ ni nigba ti eto. Gbogbo awọn kilasi yo lati o wa ni unverifiable.
Igba nibẹ ni o wa awọn imukuro
Ni Java imukuro, awọn akojọ ti awọn eyi ti o ti gbekalẹ ni isalẹ, ti wa ni lo julọ igba, ki o yẹ apejuwe kọọkan ti wọn ninu awọn apejuwe:
- ArithmeticException. Awọn wọnyi ni aṣiṣe ni nkan ṣe pẹlu isiro mosi. Awọn julọ Samaj apẹẹrẹ - pipin nipa odo.
- ArrayIndexOutOfBoundsException - ẹya teduntedun si orun ano nọmba ti o koja lapapọ ti awọn oniwe-ipari.
- ArrayStoreException - igbiyanju lati fi ẹya ibamu ano iru ti awọn orun.
- ClassCastException - igbiyanju lati mu awọn ti ko tọ si ọkan Iru si miiran.
- IllegalArgumentException - lilo ti ko tọ si ariyanjiyan ninu awọn ọna ipe.
- NegativeArraySizeException - ohun sile nigbati o ba ṣẹda ohun orun ti odi iwọn.
- NullPointerException - ilokulo ti jo to asan.
- NumberFormatException - waye nigbati a ti ko tọ si okun iyipada si odidi.
- UnsupportedOperationException - isẹ ti ko ba ni atilẹyin.
Awon apeere soju fun awọn orisi ti a sisoô Java imukuro. Sugbon ki wo ẹnikeji:
- ClassNotFoundException - Class ko ba ri.
- IllegalAcccessException - Dena wiwọle si kilasi.
- InterruptedException - interruption ti awọn sisan.
- NoSuchFieldException - nibẹ ni o wa ti ko si nbere aaye.
Awọn itumọ ti awọn imukuro
Soro ti nigbagbogbo konge imukuro yẹ ki o wa woye wipe won itumọ ninu awọn oniru, le ti wa ni ti fiyesi ko tọ. Next ni a kukuru akojọ nse ni diẹ apejuwe awọn, ni ibi ti nibẹ ni o le jẹ ohun airotẹlẹ ipo.
NullPointerException. Awọn gan akọkọ nla nigba ti o wa ni ohun sile, ni lati rawọ si a tọka si ohun ti o jẹ dogba si asan. O tun pan si awọn odo kilasi apeere ọna. NullPointerException le wa ni da àwọn ninu awọn idi ti gba ohun dogba ipari asan orun. Lati yago fun iru ipo ti yoo lorekore ṣayẹwo ojula lori asan.
ArrayIndexOutOfBoundsException. Eyikeyi eto ko le tẹlẹ lai si lilo ti imole. Accordingly, awọn loorekoore pada si o le se ina ati awọn ašiše. Sile waye nigbati a Olùgbéejáde gbìyànjú lati wọle si ohun orun ano ti o ni ko ni Ìwé akojọ. Fun apẹẹrẹ, awọn ti beere iye ti wa ni loke tabi isalẹ odo ipari. Gan igba ni a abajade ti o daju wipe ni orun bẹrẹ pẹlu kan Dimegilio ti odo.
awari
Mimu Java imukuro - kan alagbara ọpa ayika, eyi ti gidigidi sise awọn iṣẹ ti awọn komputa ati ki o gba u lati ṣẹda kan ti o mọ ki o si devoid ti koodu aṣiṣe. Lori bi dan ati idurosinsin functioning ohun elo da lori awọn ipo ati rere ti awọn Olùgbéejáde.
Dajudaju, ni a diẹ ẹ sii tabi kere si o rọrun eto lati wa kakiri ohun ajeji ipo rọrun pupọ. Sugbon ni o tobi otomatiki itaja fun kan diẹ ọgọrun ẹgbẹrun ila ti o jẹ ṣee ṣe nikan bi kan abajade ti gun-igba igbeyewo ati ṣatunṣe.
Fun Java sile aṣiṣe lati eyi ti dide ni diẹ ninu awọn ohun elo, diẹ ninu awọn ilé pese a ère nigba ti won ri alara. Paapa ni abẹ nipa awon ti o fa a ṣẹ ti awọn aabo imulo software.
Similar articles
Trending Now