Qhov txawv ntawm Kev Zam thiab Kev Ua yuam kev

Qhov txawv ntawm Kev Zam thiab Kev Ua yuam kev
Qhov txawv ntawm Kev Zam thiab Kev Ua yuam kev

Video: Qhov txawv ntawm Kev Zam thiab Kev Ua yuam kev

Video: Qhov txawv ntawm Kev Zam thiab Kev Ua yuam kev
Video: Saib Mis paub Poj niam (hluas nkauj) tus yam ntxwv lub siab 2024, Lub Xya hli ntuj
Anonim

Exception vs yuam kev

Tus cwj pwm tsis xav txog yuav tshwm sim thaum qhov kev pab cuam tab tom ua haujlwm. Qhov no tuaj yeem yog vim muaj kev zam lossis yuam kev. Kev zam yog cov xwm txheej, uas tuaj yeem cuam tshuam qhov kev ua haujlwm ib txwm muaj. Qhov yuam kev yog cov xwm txheej uas tuaj yeem suav tias tsis tuaj yeem rov qab tau. Kev zam feem ntau cuam tshuam nrog daim ntawv thov nws tus kheej, thaum qhov yuam kev cuam tshuam nrog lub kaw lus uas qhov kev zov me nyuam tab tom khiav.

Kev zam yog dab tsi?

Kev zam yog qhov xwm txheej, uas tuaj yeem cuam tshuam qhov kev ua haujlwm ib txwm muaj. Lub npe tshwj xeeb yog los ntawm "exceptional event". Pov ib qho kev zam yog cov txheej txheem ntawm kev tsim ib qho khoom tshwj xeeb thiab xa tawm mus rau lub sijhawm ua haujlwm. Exception object yog tsim los ntawm txoj kev uas qhov kev zam tshwm sim. Exception object muaj cov ntaub ntawv tseem ceeb xws li hom thiab cov lus piav qhia ntawm qhov kev zam. Thaum lub sijhawm khiav haujlwm tau txais cov khoom tshwj xeeb, nws yuav sim nrhiav ib tus neeg los tswj nws hauv pawg hu los ntawm kev hla nws hauv qhov kev txiav txim rov qab (hauv cov txheej txheem hu ua). Hu rau pawg yog daim ntawv teev npe ntawm txoj kev, uas tau hu ua ntej rau txoj hauv kev uas qhov kev zam tau tshwm sim. Lub sijhawm ua haujlwm tau ua tiav yog tias nws pom ib txoj hauv kev nrog tus neeg ua haujlwm tshwj xeeb. Exception handler yog ib qho thaiv ntawm cov cai uas tuaj yeem ua raws li qhov kev zam. Yog tias lub sijhawm khiav haujlwm pom tus neeg tuav haujlwm tsim nyog (piv txwv li hom kev zam sib tw nrog hom uas tuaj yeem ua haujlwm), nws yuav dhau qhov khoom tshwj xeeb rau tus tuav. Qhov no yog hu ua ntes qhov kev zam. Txawm li cas los xij, yog tias qhov kev zam tsis tuaj yeem daws tau, qhov kev zov me nyuam yuav xaus. Hauv Java, kev zam dhau los ntawm 'Throwable class.' NullPointerException thiab ArrayIndexOutOfBoundsException yog ob qho kev zam hauv Java.

Yuav ua li cas yog qhov yuam kev?

Ib qho yuam kev yog ib qho xwm txheej uas tuaj yeem suav tias tsis tuaj yeem rov qab tau xws li qhov kev pab cuam yuav tsum muaj lub cim xeeb ntau dua li qhov muaj. Cov kev ua yuam kev no tsis tuaj yeem daws tau thaum lub sijhawm ua haujlwm. Yog tias muaj teeb meem tshwm sim, qhov kev zov me nyuam yuav xaus. Hauv Java, qhov yuam kev tau txais los ntawm Throwable class. Qhov yuam kev feem ntau yog sawv cev rau cov teeb meem loj uas tus programmer (lossis daim ntawv thov) yuav tsum tsis txhob sim ntes. Qhov yuam kev tsuas yog qhov txawv txav, uas tsis tau xav tias yuav tshwm sim nyob rau hauv ib txwm muaj xwm txheej, thiab yog li tsis tau pom dua. Piv txwv li, OutOfMemoryError, StackOverflowError thiab ThreadDead yog qhov yuam kev. Cov txheej txheem yuav tsum tsis txhob muaj cov neeg ua haujlwm rau qhov yuam kev.

Dab tsi yog qhov txawv ntawm Kev Cuam Tshuam thiab yuam kev?

Ob qho tib si yuam kev thiab kev zam yog qhov tsis xav tau tshwm sim thaum lub sijhawm ua tiav ntawm qhov program. Txawm li cas los xij, lawv muaj qhov sib txawv tseem ceeb. Kev zam tuaj yeem pom tau los ntawm tus programmer, thaum qhov yuam kev yog qhov nyuaj rau pom. Kev zam tuaj yeem kuaj xyuas lossis tshem tawm. Tab sis qhov yuam kev yeej ib txwm tsis tau kuaj xyuas. Cov kev zam feem ntau qhia txog qhov yuam kev tshwm sim los ntawm tus programmer. Txawm li cas los xij, kev ua yuam kev tshwm sim vim qhov kev ua yuam kev lossis kev siv tsis tsim nyog ntawm cov peev txheej. Yog li ntawd, kev zam yuav tsum tau saib xyuas ntawm qib kev thov, thaum ua yuam kev yuav tsum tau saib xyuas ntawm qib system (tsuas yog ua tau). Tom qab tuav qhov kev zam, koj tau lees tias yuav rov qab mus rau qhov kev ua haujlwm zoo li qub. Tab sis txawm tias qhov yuam kev raug ntes tau, tus programmer yuav tsis paub yuav ua li cas los tswj nws thawj qhov chaw. Tsis zoo li kev ua yuam kev ib txwm siv, kev zam pub cais kev ua yuam kev-koom tes los ntawm cov lej tsis tu ncua.

Pom zoo: