CoimpiutaireanPrògramadh

Java:-dhealaichte agus an làimhseachadh

Prògram sam bith a bhios ag obrachadh stably a-mhàin ma tha an chòd a tha debugged, is chan eil a h-urrainn adhbharachadh unforeseen shuidheachaidhean. Tha am pròiseas a 'glacadh ghabhas fàillingeadh a dhèanamh air na prògraman àrd-ùrlar. Gus seo a dhèanamh, na leasaiche a 'gabhail a-steach a h-uile dùil builean agus a' feuchainn ri cuingealachadh a 'bhuaidh a bha mearachd mar sin nach b' cur bacadh air obrachadh a 'phrògraim, no a' stiùireadh a thaobh a thuit.

Nuair a bhios feum thu ach a-mhàin làimhseachadh

Ann an Java, ach a-mhàin an urrainn a bhith air adhbharachadh le ceàrr neach-cleachdaidh a-steach, chan eil feum airson goireas no gu h-obann lìonra disconnection phrògram. Airson cofhurtail cleachdadh a chruthachadh leis an iarrtas-leasachaidh, feumaidh tu smachd a chumail air a 'tachairt de shuidheachaidhean èiginneach. Tha an luchd-cleachdaidh nach bu chòir a bhith a 'feitheamh airson stad a iarrtais, a' call dàta mar thoradh air an unhandled ach a-mhàin, no dìreach mar phàirt de teachdaireachd a rèir coltais ag ràdh gun robh rudeigin ceàrr.

Làimhseachadh Java eisgeachdan

Dè beachdachadh? The Java cànan fhèin aig a thogail ach a-mhàin ann an-feartan làimhseachadh. Gu dearbh, àireamh mhòr de mearachd a ghlacadh le eile chruinneachadh ìre, an t-siostam a thèid fios a chur chun a chleachdadh nach eil e comasach. Ach tha an seòrsa seo de ach a-mhàin a 'tachairt aig runtime. Tha leasaichear na bu chòir a bhith comasach air a 'sùileachadh gum bi e agus a dhealbhadh an còd mar sin nach robh e adhbharachadh mearachd, agus a làimhseachadh ann an dòigh shònraichte agus smachd a thoirt seachad do neach eile meur.

Ann an Java, tha seo a sparradh le compiler a ghlacadh an-mhàin, mar sin na duilgheadasan àbhaisteach a tha aithnichte agus tha ìre eacarsaich pàtranan.

àbhaisteach dùnadh a-mach

Tha sìmplidhe, mar eisimpleir, ann a gheibh thu eisgeachd - sgaradh seo. Ged a tha sìmplidheachd, a thaobh, mar sgaradh, dh'fhaodadh gum bi neoni, a bhios a 'toradh ann an mhearachd. Uill, ma tha e comasach gu 'ro-innse a' Chogaidh a chaidh seachad agus stad a chur air. Ach an roghainn seo chan eil e daonnan ri fhaighinn, mar sin a 'glacadh ach a-mhàin a bu chòir an cur air dòigh gu dìreach ann an tachartas air "roinneadh le neoni".

The Java uidheam giullachd air stad a mearachd a tha a 'coimhead mar seo:

  • charn ach a-mhàin nì a chruthachadh, a thuilleadh sam bith eile;
  • nàdarra a 'chùrsa aig a' phrògram 'S e stad;
  • dùnadh a-mach uidheam a 'feuchainn ri lorg an dòigh eile gus leantainn air adhart a' Chòd;
  • Lorg àite sàbhailte gu bàs a 'phrògram ann an giullachair, ag obair no ag ath-nuadhachadh, no a bhios a' tachairt a thoirt gu buil ach a-mhàin ann an dòigh sònraichte.

Tha sìmplidhe a 'cruthachadh eisimpleir de mearachd a dh'fhaodadh a bhith a' coimhead mar seo:

ma (a == null)

thilgeil ùr NullPointerException ();

An seo, tha caochlaideach a tha a 'sgrùdadh aig initialization, ie, Chan eil e co-dhiù an t-iomradh a null nì. Ma tha an suidheachadh seo air èirigh agus feumaidh sònraichte làimhseachadh, eisgeachd a 'tilgeil le tilgidh ùr NullPointerException ().

Beagan fiosrachaidh mu na faclan-luirg

Nuair a bhios a 'dèiligeadh ri eisgeachdan' S tric a tha riatanach gus cleachdadh na prėomh Java iomradh a thoirt air gnìomh shònraichte. Tha seo a 'chànan aca chòig prògraman:

  • Feuch. Tha seo a 'prėomh tha mar-thà a choileanadh, agus tha ea' ciallachadh gluasad gu earrann de còd a thilgeil urrainn-dhealaichte. Block cuingealaichte braces {}.
  • Catch. Tha e intercepts miannaichte ach a-mhàin seòrsa làimhseachadh agus tha e iomchaidh.
  • Mu dheireadh. 'S e seo prėomh roghainneil agus tha e a' cleachdadh àraidh pìos code, a tha feum air co-dhiù, fiù 's mur eil ach a-mhàin Chan eil ghlacadh. Air a chur ris dìreach an dèidh Feuch bacaidh.
  • Tilg - leigeas leibh Java-dhealaichte bho àite sam bith.
  • Tilgeil - a prėomh a tha air an cur ann an dòigh ainm-sgrìobhte. Tha ea 'ciallachadh gu bheil a' chòd a leanas urrainn thilgeil eisgeachd seòrsa seo Java. An comharra seo a 'frithealadh mar chomharran do luchd-leasachaidh a dh'fheumas a bhith cuimhneachadh - an dòigh nach urrainn an obair mar a' sùileachadh ris.

Ghlacadh le feuchaibh

Release gu Java eisgeachdan, nàdarra a 'gabhail ris gun tèid a làimhseachadh ann an dòigh sònraichte. Tha an dòigh as fhasa airson sin a dhèanamh, ma tha an Còd a 'e an earrann fheansadh ann an loga bacaidh. A dh'fhaodadh a tha eisgeachd. Nuair a bhios tu a 'ruith an còd seo, mas-fhìor inneal lorg Bidh an suidheachadh ris nach robh dùil, a' tuigsinn gu bheil e deatamach bacaidh agus gluasadan gu smachd a chumail air an stèisean leis a 'pròiseasadh.

The Java còd air a phasgadh ann an loga bacaidh sònraichte Feuch, taobh a-staigh a dh'fhaodadh a bhith eisgeachd. Mar sin, chuir e grunn unforeseen suidheachaidhean a thèid a ghlacadh ann an aon àite, cha raspolzayas còd.

Tha a 'chuid as motha àbhaisteach Còd a bhith a' pròiseasadh aonad mar a leanas:

feuchainn {

// Seo cuid còd a dh'fhaodadh a ghineadh eisgeachd

} Catch (Tip_isklyucheniya_1 identifikator_1) {

// Here ach a-mhàin a tha a 'làimhseachadh, a-rèir seòrsa agus na h-;

} Catch (Tip_isklyucheniya_2 identifikator_2) {

// Here ach a-mhàin a tha a 'làimhseachadh, a-rèir seòrsa agus na h-;

}

Prėomh ghlac aithris gu bheil code, agus sganadh e airson ach a-mhàin, a bhith air a làimhseachadh mar air a mhìneachadh gu h-ìosal, air a thoirt seachad gu bheil e a 'gèilleadh ri seòrsa. Tha ÀIREAMH AITHNE faodar a chleachdadh ann an giullachd an còd bacaidh mar argamaidean.

Mu dheireadh

Mar a dh'fhàs e soilleir bhon chaibideil, iasg a ghlacadh blocaichean-dhealaichte agus iad a làimhseachadh. Ach glè thric an t-suidheachadh far a dh'èireas bu chòir an ruith cuid code, a dh'aindeoin co dhiubh a bha iad air a ghlacadh mhearachdan. Airson seo a tha an fhacal mu dheireadh. Thathar ga chleachdadh airson meudachadh air an luachan na diofar cunntairean, a 'dùnadh faidhlichean, no lìonradh cheanglaichean.

Tha seo a 'phlota a' toirt iomadh iasg a blocaichean dh'innlich dòighean a ghlacadh ach a-mhàin. Mar eisimpleir, tha an Còd a tha ann an Try 'gineadh an suidheachadh ris nach robh dùil leithid Fuar. An uair sin, a 'chlàir thèid a chur an cèill «Caught fuar! Agus» «Is gu bheil rudeigin toileachas mu dheidhinn?». 'S e sin, mu dheireadh thall an loga bacaidh a tha bàs ann an cùis sam bith.

Gu dearbh, tha an dòigh a sheachnadh triggering mu dheireadh thall an sin. Tha e co-cheangailte ri crìoch a chur air an inneal-mas-fhìor. Lorg a chur an gnìomh mar a tha e, tha e comasach air an eadar-lìon raointean fosgailte.

Tilg luirg

Tilg a 'gineadh-dhealaichte. Tha sheantansan a tha mar a leanas:

thilgeil ùr NewException ();

Tha a chruthachadh ùr ach a-mhàin airson an t-seòrsa NewException (). Mar seòrsa faodar a chleachdadh mar-thà a-steach ann an inbhe Java leabharlainn clasaichean agus roimhe seo air a mhìneachadh leis a '-leasachaidh aca fhèin a dhèanamh.

Tha seo a 'dealbhadh a tha na phàirt de tuairisgeul air dòigh sam bith, a tha a' ghairm Bu chòir an uair sin a 'tachairt taobh a-staigh an Try bacaidh, gus a bhith comasach air stad e.

prėomh tilgeil

Dè ma bhios ann am pròiseas leasachaidh a 'suidheachadh far a bheil an dòigh urrainn an tilgeil a-mhàin, ach chan eil iad comasach air a làimhseachadh ceart. Gus seo a choileanadh, ann an dòigh ainm-sgrìobhte a 'sònrachadh an fhacal' tilgeil agus an seòrsa de comasach ach a-mhàin.

Tha seo a 'label' S e seòrsa de neach-dèiligidh comharra airson leasachaidh gu bheil an dòigh nach eil e comasach a làimhseachadh aca ach a-mhàin aon. A thuilleadh air sin, ma tha mearachd seòrsa air a sgrùdadh, agus an uair sin a 'toirt air a chur ri chèile a bhios gu follaiseach a' faighneachd air a shon.

Feuch ri goireasan

The Java dreach 7 leasachaidh air a ghabhail a-steach a innleachdas mòr, mar leigheas Feuch bacaidh le goireasan.

Tha mòran rudan a tha air a chruthachadh ann an Java, an dèidh bu chòir feum a dhùnadh sìos air goireasan a ghleidheadh. Roimhe seo bha seo a ghabhail a-steach stad a chur air na suidheachaidhean sin agus a làimh. A-nis, ge-tà, nochd iad AutoClosable eadar-aghaidh. Tha ea 'cuideachadh gu fèin-obrachail dùin rudan a chleachdadh mar-thà a chur ann an feuchaibh an loga bacaidh. Tro dòigh-obrach seo tha e air fàs nas fhasa a sgrìobhadh ann an còd a readability a tha gu mòr nas motha.

Clasaichean fhèin, ach a-mhàin Java

-Cruthachaidh a 'mhìneachadh cànan prògramaidh thug a-steach mòran thaobhan den dealbhadh sheòrsaichean èiginn. Ach, uile de na roghainnean airson casg a chur air a 'bhuil de thachartasan chan obraich, mar sin a chur an gnìomh ann an Java an comas a bhith a' mìneachadh aca fhèin ach a-mhàin, tha e iomchaidh a rèir feumalachdan sònraichte an còd.

Tha an dòigh as sìmplidhe a chruthachadh - a shealbhachadh bho as iomchaidh don nì co-theacsa.

Chan thachair do shealbhachadh bho a-mhàin, a 'chlas a tha air a chleachdadh gus mìneachadh agad fhèin ach a-mhàin. Ann MyException Tha dà constructors - tuiseil, an dàrna - le argamaid msg seòrsa String.

An uair sin, ann an seòmar-teagaisg FullConstructors poblach a chur an gnìomh dòigh f, anns a bheil an t-ainm-sgrìobhte 'tilgeil MyException. Prėomh seo a 'ciallachadh gun urrainn f thilgeil mar Java MyException ach a-mhàin. Nas fhaide, ann an dòigh buidheann a dhèanamh teacs fiosrachadh toradh a chur a 'chlàir-fhèin agus fìor ghinealach MyException, le tilgidh.

Tha an dàrna dòigh a tha beagan eadar-dhealaichte bhon chiad tè nuair a tha thu a chruthachadh ach a-mhàin, tha e 'dol seachad air sreang paramadair, a thèid a shealltainn anns a' chlàir aig a ghlacadh. Anns a 'phrìomh tha e soilleir gun f () agus g () air an cur ann an Feuch Obair agus prėomh ghlac rèiteachadh a ghlacadh MyException. Tha thoradh Tha giullachd a thaisbeanadh teachdaireachd-mearachd gus a 'chlàir:

Mar so thàinig e gu Java Cuir eisgeachdan, le a làimh fe'in.

Architecture eisgeachdan

Mar a h-uile nithean ann an Java, ach a-mhàin a tha mar dhìleab cuideachd agus tha hierarchical structar. Tha freumh na h-uile eileamaid de mhearachdan a thilgeil ann an seo a tha an cànan prògramaidh clas java.lang.Throwable. Shealbhaich e dà sheòrsa - Mearachd is Lasachadh.

Mearachd - a 'comharrachadh mearachd breithneachail agus tha e unchecked Java-dhealaichte. Interception agus giollachd dàta mar as trice a 'tachairt aig an ìre dealbhaidh a tha agus nach eil feum air an toirt a-steach anns an t-iarrtas mu dheireadh còd.

As cumanta a 'chlas airson cruthachadh agus mion-sgrùdadh ach a-mhàin a tha dhealaichte. Dè, ann an tionndadh, a roinn ann an grunn mheuran, nam measg RuntimeException. Le RuntimeException tha runtime eisgeachdan, 'se sin, a' nochdadh rè a 'phrògram. H-uile clas a 'tighinn bhon a tha e unverifiable.

Gu math tric tha eisgeachdan

Ann an Java-dhealaichte, air an liosta a tha air a thoirt gu h-ìseal, air an cleachdadh na bu trice, agus mar sin bu chòir dhuibh innse mu gach aon dhiubh ann an mionaideach:

  • ArithmeticException. Nam measg seo tha mearachdan co-cheangailte ri obrachaidhean àireamhachd. Tha a 'chuid as motha a' cur drèin eisimpleir - a 'roinn le neoni.
  • ArrayIndexOutOfBoundsException - an ath-thagradh gu an ordugh eileamaid àireamh sin nas àirde na an àireamh iomlan de a dh'fhaid.
  • ArrayStoreException - oidhirp a shònrachadh neo-chòrdail eileamaid seòrsa an ordugh.
  • ClassCastException - an oidhirp a thoirt ceàrr aon seòrsa gu seòrsa eile.
  • IllegalArgumentException - a 'cleachdadh ceàrr argamaid ann an dòigh ghairm.
  • NegativeArraySizeException - ach a-mhàin an uair a tha thu a 'cruthachadh seat de àicheil meud.
  • NullPointerException - mì-fheum de iomraidhean Null.
  • NumberFormatException - tachairt nuair a thèid ceàrr sreang atharrachadh gu integer.
  • UnsupportedOperationException - obrachadh eil taic.

-Eisimpleirean seo a 'riochdachadh an seòrsa unchecked Java-dhealaichte. Ach mar sin a 'coimhead an sgrùdadh:

  • ClassNotFoundException - Clas a lorg.
  • IllegalAcccessException - chuingealachadh cothrom don chlas.
  • InterruptedException - casg air an t-sruth.
  • NoSuchFieldException - chan eil a dhìth achadh.

Tha eadar-mhìneachadh ach a-mhàin

A 'bruidhinn gu tric ris an coinnichear ach a-mhàin a bu chòir a thoirt fa-near gu bheil am mìneachadh ann an dealbhachadh, faodar coimhead ceàrr. An ath tha liosta ghoirid a 'mìneachadh ann am barrachd mionaideachd, far an dòcha gum bi an suidheachadh ris nach robh dùil.

NullPointerException. Tha a 'chiad chùis nuair a tha an ceudna, a tha a chòrdas ri iomradh a thoirt air an rud a tha co-ionnan ri Null. Tha e cuideachd a 'leudachadh gu neoini clas eisimpleir dhòighean-obrach. NullPointerException dh'fhaodadh a bhith air a thilgeil ann an cùis a 'faighinn co-ionann fad null ordugh. Airson sheachnadh suidheachaidhean mar sin bho àm gu àm sùil air làraichean air an null.

ArrayIndexOutOfBoundsException. Prògram sam bith ann nach urrainn gun a bhith a 'cleachdadh arrays. Mar sin, gu tric fheum air urrainn e a ghineadh is a mhearachd. Lasachadh tachairt nuair a leasaiche a 'feuchainn ri cothrom fhaighinn air an ordugh eileamaid nach eil ann an clàr-amais liosta. Mar eisimpleir, a dh'iarr luach os cionn no fo neoni dh'fhaid. Glè thric tha thoradh air an fhìrinn gu bheil ann an ordugh a 'tòiseachadh le sgòr de neoni.

toraidhean

Làimhseachadh Java ach a-mhàin - cumhachdach inneal àrainneachd, a tha gu mòr a 'furastachadh obair na phrogramaiche, agus a' leigeil ris a chruthachadh glan fhèin gun preas no còd mearachdan. Air mar rèidh agus seasmhach obrachadh tagradh an crochadh air an inbhe agus cliù na leasaiche.

Gu dearbh, ann tuilleadh no nas lugha sìmplidh prògraman a lorg an suidheachaidhean neo-àbhaisteach mòran nas fhasa. Ach anns a 'mhòr fèin-obrachail complexes airson beagan cheudan mile lines tha e comasach a-mhàin mar thoradh air fad-ùine deuchainn agus debugging.

Airson Java ach a-mhàin mearachd bhon a tha ag èiridh ann an cuid de iarrtasan, cuid de chompanaidhean a 'tabhann duais nuair a tha iad a' lorg dhaoine a bha dèidheil. Meas gu h-àraidh leis an fheadhainn a tha ag adhbhrachadh a bhriseas a 'poileasaidh tèarainteachd bathar-bog.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 gd.delachieve.com. Theme powered by WordPress.