ComputersProgramming

Java: zam thiab lawv tuav

Tej kev pab cuam yuav khiav stably tsuas yog hais tias tus qhov chaws yog debugged, thiab muaj cov tsis muaj tej yam kev mob uas yuav ua rau tsi xam pom lub sijhawm. Cov txheej txheem ntawm txais tau failures yog nqa tawm nyob rau hauv programming theem. Ua li no, tus tsim tawm yuav siv sij hawm mus rau hauv tus account tag nrho cov kev tsim hauj lwm tshwm sim thiab npaj siab yuav txo tau cov nyhuv uas cov kev ua yuam kev li ntawd, hais tias nws yuav tsis cuam tshuam nrog lub lag luam ntawm cov kev pab cuam, los yog ua rau nws cov lub cev qhuav dej.

Thaum koj yuav tau kos tuav

Nyob rau hauv Java, ib qho kev zam yuav tshwm sim los ntawm tsis yog neeg siv tswv yim, tsis muaj yuav tsum tau rau ib qho chaw los yog cia li network disconnection kev pab cuam. Rau xis siv uas tsim los ntawm daim ntawv thov kev tsim tawm, koj yuav tsum tswj qhov tshwm sim ntawm muaj xwm ceev. Cov neeg yuav tsum tsis txhob muaj mus tos los txiav luam yeeb ib daim ntawv thov, poob cov ntaub ntawv raws li ib tug tshwm sim ntawm ib tug unhandled tsuas yog, los yog cia li ib feem ntawm ib cov lus zoo nkaus li hais tias ib yam dab tsi mus tsis ncaj ncees lawm.

Tuav Java zam

Yuav ua li cas yuav tau xav txog? Lub Java lus nws muaj nws tus kheej ua-nyob rau hauv kos tuav functionality. Ntawm cov hoob kawm, ib tug loj feem pua ntawm cov kev ua yuam kev yog ntes tau los ntawm lwm muab tso ua ke rau theem, lub kaw lus yuav cia qhia tau hais tias kev siv nws yog tsis tau. Tab sis muaj yog qhov no zoo ntawm cov kev zam uas tshwm sim nyob rau runtime. Cov tsim tawm yuav tsum tau xav tias yuav nws thiab los tsim cov kev cai thiaj li hais tias nws tsis ua ib qho yuam, thiab ua licas nws nyob rau hauv ib tug tshwj xeeb txoj kev thiab muab cob tswj mus rau lwm ceg.

Nyob rau hauv Java, qhov no yog tswj los ntawm lub compiler mus ntes ib tug kos, ces tus raug teeb meem paub thiab muaj ib tug txheej txheem ce qauv.

raug xam

Qhov yooj yim piv txwv li, nyob rau hauv uas koj yuav tau txais ib qho kev zam - qhov no faib. Txawm tias nws simplicity, nyob rau hauv cov nqe lus, raws li ib tug divider, tej zaum yuav pes tsawg, uas yuav ua rau muaj kev ua yuam kev. Zoo, yog hais tias nws yog tau mus twv seb tus emergence ntawm yav dhau los thiab tiv thaiv. Tab sis qhov kev xaiv no yog tsis ib txwm muaj nyob, yog li tuag rau cov kev zam yuav tsum tau ib lub koom haum ncaj qha nyob rau hauv cov kev tshwm sim ntawm "faib los ntawm xoom".

Lub Java mechanism rau kev cuam tshuam ua yuam kev zoo li no:

  • heap kos kwv yog tsim, raws li zoo raws li lwm yam;
  • lub ntuj kawg ntawm qhov kev pab cuam yog tu ncua;
  • cais tawm mechanism yog sim mus nrhiav ib txoj kev txoj kev mus ntxiv cov code;
  • Nrhiav ib tug muaj kev ruaj ntseg tua ntawm cov kev pab cuam nyob rau hauv lub processor, ua hauj lwm los yog rov qab los, los yog yuav tshwm sim realization ntawm kev zam nyob rau hauv ib tug tshwj xeeb txoj kev.

Qhov yooj yim piv txwv ntawm tsim muaj ib qho kev ua yuam kev tej zaum yuav zoo li no:

yog hais tias (ib tug == thov)

muab pov tshiab NullPointerException ();

Ntawm no, cov kuj sib txawv ib tug soj ntsuam ntawm initialization, piv txwv li, yog tsis seb cov kev siv rau ib tug thov kwv. Yog hais tias qhov teeb meem no tau arisen thiab xav tau tshwj xeeb tuav, ib tug kos yog pov los ntawm ib tug muab tshiab NullPointerException ().

Ob peb lus hais txog keywords

Thaum uas soj ntsuam txog kev zam yog feem ntau tsim nyog los siv lub lo lus tseem ceeb Java rau xa mus rau ib tug txiav txim. Qhov no lus ntawm lawv tsib programming:

  • Sim. Qhov no lo lus tseem ceeb yog twb tau ntsib, thiab nws txhais tau tias ib txoj kev hloov mus rau hauv ib seem ntawm code uas yuav muab pov ib qho kev zam. Thaiv txwv kev zawm hniav {}.
  • Catch. Nws intercepts cov yam kev zam hom thiab leg nws kom zoo.
  • Thaum kawg. Qhov no lo lus tseem ceeb yog los tsis ua cas thiab yog siv los ua ib tug tej yam daim code, uas yog yuav tsum tau lawm, txawm yog tias tsis muaj kev zam yog tsis ntes tau. Ntxiv ncaj qha tom qab sim block.
  • Muab - cia koj ua Java zam los ntawm qhov twg.
  • Throws - ib tug lo lus tseem ceeb uas yog muab tso rau hauv tus qauv kos npe. Nws txhais tau tias cov cai nram qab yuav muab pov ib qho kev zam ntawm no hom Java. Qhov no cim ua hauj lwm pab raws li ib lub teeb liab mus developers uas yuav tsum tau yuav tsum tau borne nyob rau hauv lub siab - txoj kev muaj peev xwm tsis ua hauj lwm raws li tau leej twg ntawm nws.

Txais nrog ib zaug

Tso rau Java zam, lawm assumes hais tias nws yuav muaj leej twg nyob rau hauv ib tug tshwj xeeb txoj kev. Cov yooj yim tshaj plaws txoj kev uas yuav ua rau nws, yog hais tias tus code section yog fenced tawm nyob rau hauv ib ntu. Uas tej zaum yuav muaj ib qho kev zam. Thaum koj khiav qhov no code, cov virtual tshuab yuav nrhiav tau ib npaj txhij txog qhov teeb meem no, to taub hais tias muaj yog ib tug tseem ceeb heev thaiv thiab kev hloov tsheb tswj mus rau lub chaw nres tsheb nrog lub ua.

Lub Java code yog qhwv nyob rau hauv ib tug tshwj xeeb thaiv zaug, tsis pub dhau uas tej zaum yuav ua tau ib tug kos. Yog li, nws muab tso rau ob peb tsi xam pom tej yam uas yuav raug ntes tau nyob rau hauv tib lub qhov chaw, tsis raspolzayas code.

Qhov tseem raug code rau cov ua chav tsev yog raws li nram no:

sim {

// Ntawm no yog ib co code uas yuav ua kom muaj ib qho kev zam

} Txhom (Tip_isklyucheniya_1 identifikator_1) {

// Ntawm no yog kev zam tuav, raws li nws cov hom thiab tej yam kev mob;

} Txhom (Tip_isklyucheniya_2 identifikator_2) {

// Ntawm no yog kev zam tuav, raws li nws cov hom thiab tej yam kev mob;

}

Lo lus tseem ceeb catch qhia tias code, thiab luam theej duab nws rau ib qho kev zam, yuav tsum tau kho raws li tau piav rau hauv qab no, muab hais tias nws raws li nws cov hom. Lub cim yuav siv tau nyob rau hauv cov zauv rau lub code thaiv raws li cov lus.

Thaum kawg

Raws li nws tau los ua tseeb los ntawm lub yav dhau los tshooj, catch blocks ntes zam thiab ua lawv. Tab sis ntau heev qhov teeb meem no tshwm sim qhov twg yuav tau khiav ib co code, tsis hais seb lawv raug ntes yuam kev. No yog cov lo lus tseem ceeb thaum kawg. Nws yog siv los ua rau kom lub qhov tseem ceeb ntawm ntau yam txee, kaw cov ntaub ntawv los yog network sib txuas.

Qhov no zajlus pib ob peb catch blocks yees txoj kev ntes ntxiv. Piv txwv li, cov kev cai muaj nyob rau hauv lub sim generates ib tug npaj txhij txog qhov teeb meem no xws li khaub thuas. Tom qab ntawd, console yuav muab tso tawm kom qhia «txhom tau khaub thuas!» Thiab «Yog hais tias ib yam dab tsi rau ciali txog?». Hais tias yog, tus thaum kawg block yog tua nyob rau hauv txhua rooj plaub.

Nyob rau hauv qhov tseeb, ib txoj kev kom tsis txhob muaj triggering thaum kawg muaj. Nws yog kev cob cog rua nrog lub kawm tiav ntawm lub virtual tshuab. Nrhiav yuav ua li cas los mus siv nws, nws yog tau nyob rau hauv Internet qhib tej qhov chaw.

pov lo lus tseem ceeb

Pov generates ib tug kos. Nws syntax yog raws li nram no:

muab pov tshiab NewException ();

Muaj tsim ib tug tshiab kev zam rau lub hom NewException (). Raws li ib yam yuav siv tau yog twb muaj nyob rau hauv tus txheej txheem Java tsev qiv ntawv kawm thiab cov yav tas los txhais los ntawm tus tsim tawm ntawm nws tus kheej lawm.

Qhov no tsim yog ib feem ntawm qhov kev piav qhia ntawm txhua txoj kev, uas tus hu yuav tsum tau ces tshwm sim nyob rau hauv lub sim thaiv, nyob rau hauv thiaj li yuav tau kev cuam tshuam nws.

Lo lus tseem ceeb cuam

Yuav ua li cas yog hais tias nyob hauv tus txheej txheem ntawm txoj kev loj hlob ntawm ib tug teeb meem uas tus qauv yuav muab pov ib qho kev zam, tab sis yog tsis muaj peev xwm los mus daws kom zoo. Yuav kom qhov no kawg, nyob rau hauv tus qauv kos npe qhia txog cov lo lus cuam thiab hom tau kev zam.

Qhov no daim ntawv lo yog ib yam ntawm cov qhov taw qhia rau tus thov kev pab developers hais tias cov qauv no yog tsis muaj peev xwm los mus daws lawv cov tib kos. Nyob rau hauv tas li ntawd, yog hais tias tus yuam kev hom soj ntsuam, ces tus compiler yuav yuam ntsees hais rau nws.

Sim pab

Lub Java version 7 developers tau muaj ib tug loj innovation, raws li ib tug kev kho mob zaug thaiv uas muaj kev pab.

Muaj ntau yam khoom yog tsim nyob rau hauv Java, tom qab siv yuav tsum tau kaw cia rau hluav kev pab. Yav tas los nws yuav tsum tau noj cov tshuaj no mus rau hauv tus account thiab nres cov zaus manually. Tam sim no, txawm li cas los, lawv nyob AutoClosable interface. Nws yuav pab tau txiav kaw twb siv khoom muab tso rau hauv ib zaug block. Los ntawm no mus kom ze nws tau ua ntau yooj yim sau cov code nyob rau hauv nws cov readability yog ho muaj zog.

Tus kheej cov chav kawm ntawv Java zam

Lub creators ntawm cov piav programming lus coj mus rau hauv tus account ntau yam ntawm tus tsim hom xwm txheej ceev. Txawm li cas los, tag nrho cov ntawm cov kev xaiv los mus tiv thaiv lub sij hawm ntawm cov txheej xwm yuav tsis ua hauj lwm, thiaj li nyob rau hauv Java siv lub peev xwm los txhais tau lawv tus kheej kev zam, nws yog tsim nyog rau cov kev xav tau ntawm cov code.

Qhov yooj yim txoj kev uas yuav tsim - los mus inherit los ntawm cov feem ntau tsim nyog rau tus kwv cov ntsiab lus teb.

Muaj tshwm sim los mus inherit los ntawm Exception, cov chav kawm ntawv uas yog siv los mus txhais kom meej koj tus kheej kev zam. Nyob rau hauv MyException muaj ob tug constructors - ib tug neej ntawd hais, qhov thib ob - nrog rau kev sib cav msg hom hlua.

Ces, nyob rau hauv cov pej xeem hauv chav kawm FullConstructors siv txoj kev f, uas muaj lub npe cuam MyException. Qhov no lo lus tseem ceeb txhais tau tias f yuav muab pov li Java MyException kos. Ntxiv mus, nyob rau hauv tus qauv lub cev ua ntawv nyeem ntaub ntawv tso zis rau lub console nws tus kheej thiab lub sij tiam MyException, los ntawm muab.

Qhov thib ob hom yog me ntsis txawv los ntawm tus thawj yog ib tug uas thaum koj tsim ib qho kev zam, nws yog dhau ib txoj hlua parameter, uas yuav thaws rov los nyob rau hauv lub console ntawm tuag. Nyob rau hauv lub ntsiab nws yog tseeb hais tias f () thiab g () yog muab tso rau hauv ib zaug checking thiab lo lus tseem ceeb catch configured mus ntes MyException. Cov tshwm sim ntawm ua yog mus tso saib ib qho yuam kev lus rau cov console:

Yog li ntawd nws tuaj ntxiv Java zam, los ntawm nws tus kheej txhais tes.

Architecture zam

Raws li nrog rau tag nrho cov khoom nyob rau hauv Java, kev zam uas tau kuj pub thiab muaj ib tug hierarchical qauv. Lub hauv paus keeb ntawm tag nrho cov uas tsis muab pov tseg nyob rau hauv no programming lus yog chav kawm ntawv java.lang.Throwable. Pub los ntawm nws ob hom - yuam kev thiab Exception.

Yuam kev - pib ntsais koj teeb lub tseem ceeb heev kev ua yuam kev thiab yog tsi kuaj xyuas Java zam. Interception thiab ua tej ntaub ntawv nyob rau hauv feem ntau tshwm sim nyob rau hauv lub tsim theem thiab tsis nyob rau hauv kev xav tau ntawm plaug nyob rau hauv lub kawg daim ntawv thov code.

Cov feem ntau siv hauv chav kawm ntawv rau cov tsim thiab cais cov kev zam yog Exception. Uas, nyob rau hauv lem, yog muab faib ua ob peb ceg, xws li RuntimeException. Los ntawm RuntimeException yog runtime zam, uas yog, tshwm sim thaum lub sij hawm qhov kev pab cuam. Tag nrho cov chav kawm ntawv muab tau los ntawm nws yog unverifiable.

Feem ntau muaj cov kev zam

Nyob rau hauv Java zam, daim ntawv teev cov uas yog hais hauv qab no, yog siv feem ntau, yog li ntawd koj yuav tsum piav qhia txog txhua yam ntawm lawv nyob rau hauv kom meej:

  • ArithmeticException. Cov no muaj xws uas tsis txuam nrog xam ua hauj lwm. Qhov tseem glaring piv txwv - tus division los ntawm xoom.
  • ArrayIndexOutOfBoundsException - ib tug txaus siab mus rau lub array caij xov tooj uas tshaj tag nrho cov ntawm nws kav ntev npaum.
  • ArrayStoreException - los mus muab ib tug incompatible caij hom ntawm cov array.
  • ClassCastException - ib qho los mus coj tsis ncaj ncees lawm ib hom mus rau lwm lub.
  • IllegalArgumentException - siv cov tsis ncaj ncees lawm kev sib cav nyob rau hauv txoj kev hu.
  • NegativeArraySizeException - ib tug kos thaum koj tsim tau ib lub array ntawm tsis zoo loj.
  • NullPointerException - misuse ntawm ua tim khawv rau thov.
  • NumberFormatException - tshwm sim thaum ib tug tsis ncaj ncees lawm txoj hlua hloov dua siab tshiab rau integer.
  • UnsupportedOperationException - lag luam yog tsis txaus siab.

Cov piv txwv sawv cev rau lub hom tsi kuaj xyuas Java zam. Tab sis li saib soj ntsuam:

  • ClassNotFoundException - Class tsis pom.
  • IllegalAcccessException - txwv tsis pub nkag tau mus rau cov chav kawm ntawv.
  • InterruptedException - kev cuam tshuam ntawm cov khiav.
  • NoSuchFieldException - yog tsis muaj yuav tsum tau teb.

Tus txhais lus ntawm cov kev zam

Hais txog nquag ces yuav tsum zam yuav tsum tau muab sau tseg hais tias lawv txhais nyob rau hauv lub tsim, yuav tsum ntaus nqi incorrectly. Tom ntej no yog ib tug luv luv daim ntawv teev qhia txog nyob rau hauv ntau yam, qhov chaw uas tej zaum yuav muaj kev npaj txhij txog qhov teeb meem no.

NullPointerException. Tus heev thawj cov ntaub ntawv thaum muaj ib qho kev zam, yog rov hais dua mus rau ib tug siv rau ib tug kwv uas yog sib npaug zos rau thov. Nws kuj ncua mus rau zero chav kawm ntawv Piv txwv li txoj kev. NullPointerException yuav muab pov tseg rau cov ntaub ntawv ntawm muab vaj huam sib luag ntev thov array. Kom tsis txhob tej lub sijhawm yuav tsis tseg xyuas qhov chaw hauv thov.

ArrayIndexOutOfBoundsException. Tej kev pab cuam muaj peev xwm tsis nyob ua ib ke tsis muaj kev siv ntawm arrays. Raws li, qhov nquag recourse mus rau nws yuav ua kom muaj thiab yuam kev. Exception tshwm sim thaum ib tug tsim tawm nws mus saib ib tug array caij uas tsis yog nyob rau hauv lub Performance index daim ntawv teev. Piv txwv li, lub tseev nqi yog saum toj no los yog hauv qab no zero ntev. Heev feem ntau yog ib tug tshwm sim ntawm qhov tseeb hais tias nyob rau hauv lub array pib nrog ib tug qhab nia ntawm xoom.

tshawb pom

Tuav Java zam - ib tug uas haib ib puag ncig, uas zoo heev tswj lub chaw ua hauj lwm ntawm lub programmer thiab tso cai rau nws los ua ib tug huv si thiab devoid ntawm code kom raug. Yuav ua li cas tus thiab ruaj khov hauj lwm daim ntawv thov nyob rau tus txheej xwm thiab lub koob npe nrov ntawm tus tsim tawm.

Ntawm cov hoob kawm, nyob rau hauv ib tug ntau dua los yog tsawg yooj yim cov kev pab cuam lw txawv txav lub sijhawm npaum li cas yooj yim. Tab sis nyob rau hauv loj suab ceg rau ib tug ob peb puas txhiab kab nws yog ua tau tsuas yog raws li ib tug tshwm sim ntawm sij hawm ntev los soj ntsuam thiab debugging.

Rau Java kos yuam kev los ntawm uas tshwm sim nyob rau hauv ib co daim ntawv sau npe, ib co tuam txhab uas muag muaj ib tug nqi zog thaum lawv nrhiav tau tus neeg txhawb. Tshwj xeeb tshaj yog menyuam los ntawm cov neeg uas ua rau ib tug ua txhaum ntawm cov kev ruaj ntseg cai software.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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