Белгіленген ерекшелік пен орындау уақытындағы ерекшелік арасындағы айырмашылық

Белгіленген ерекшелік пен орындау уақытындағы ерекшелік арасындағы айырмашылық
Белгіленген ерекшелік пен орындау уақытындағы ерекшелік арасындағы айырмашылық

Бейне: Белгіленген ерекшелік пен орындау уақытындағы ерекшелік арасындағы айырмашылық

Бейне: Белгіленген ерекшелік пен орындау уақытындағы ерекшелік арасындағы айырмашылық
Бейне: 😔ОСЫ 7 ҚАТЕ ҮШІН АДАМДАР СІЗДІ БАҒАЛАМАЙДЫ! 2024, Қараша
Anonim

Белгіленген ерекшелік пен Орындау уақытындағы ерекше жағдай

Ерекшеліктер - қалыпты бағдарлама ағынын бұзуы мүмкін оқиғалардың ерекше түрі. Ерекше атау «ерекше оқиғадан» шыққан. Ерекшелікті тастау - ерекше жағдай нысанын жасау және оны орындау уақыты жүйесіне беру процесі. Орындау уақыты жүйесі ерекше жағдай нысанын алған кезде, ол кері ретпен (әдістер шақырылған) өту арқылы оны шақыру стекінен өңдеу үшін біреуді табуға тырысады. Орындау уақыты жүйесі ерекше жағдай өңдегіші бар әдісті тапса сәтті болады. Ерекше жағдайды өңдеуші - аталған ерекше жағдайды ресми түрде өңдей алатын код блогы. Орындау уақыты жүйесі сәйкес өңдегішті тапса, ол ерекше жағдай нысанын өңдеушіге береді. Бұл ерекшелікті ұстау деп аталады. Дегенмен, ерекше жағдайды өңдеу мүмкін болмаса, бағдарлама тоқтатылады. Java тілінде ерекшеліктер Throwable сыныбынан мұраланады. Тексерілген Ерекшеліктер өңдеуді компилятор орындайтын ерекшеліктер болып табылады. Орындау уақытының ерекше жағдайлары - компилятор тексермейтін ерекше жағдайлардың түрі.

Белгіленген ерекшелік дегеніміз не?

Белгіленген Ерекшеліктер java.lang.exception сыныбының нысандары немесе оның ішкі сыныптары болып табылады (java.lang. RuntimeException және оның ішкі сыныптарынан басқа). Тексерілген ерекшеліктер компиляция уақытында «тексеріледі». Бұл бағдарламашы бұл ерекшеліктерді ұстауы немесе тастауы керек, әйтпесе компиляция шағымданады (компилятор қатесін тудырады). Осы себепті көптеген тексерілген ерекшеліктер бағдарламашыларға өте жақсы таныс. Мысалы, IOException және оның ішкі сыныптары ерекше жағдайлар тексеріледі және бағдарламашы файлға қатынасу немесе өзгертумен айналысқан сайын, компилятор барлық ықтимал IOExceptions бағдарламашымен өңделгеніне көз жеткізу үшін тексереді.

Орындалу уақытының ерекшелігі дегеніміз не?

Орындалу уақытының ерекше жағдайлары java.lang. RuntimeException және оның барлық ішкі сыныптарынан тұрады. Теориялық тұрғыдан алғанда, олар тексерілген ерекшеліктер сияқты бірдей мақсатқа қызмет етеді және тексерілген ерекшелік сияқты лақтырылуы немесе өңделуі мүмкін, бірақ оларды өңдеу компилятормен орындалмайды. Сондықтан, Орындау уақытының ерекше жағдайлары тексерілмеген ерекшеліктер тобына жатады. NullPointerException, NumberFormatEception, ClassCastException және ArrayIndexOutOfBoundsException Java тіліндегі жалпы орындалу уақытының ерекше жағдайлары болып табылады.

Тексерілген ерекшелік пен Орындау уақытындағы ерекше жағдайдың айырмашылығы неде?

Тексерілген ерекшеліктер де, орындалу уақытының ерекше жағдайлары да бағдарламаны орындау кезінде қалаусыз пайда болғанымен, олардың айырмашылықтары бар. Тексерілген ерекше жағдайды өңдеу компилятор арқылы орындалады, бірақ орындалу уақытының ерекше жағдайлары жоқ. Сондықтан, кодты құрастыру үшін тексерілген ерекшеліктерді шығару немесе өңдеу керек, бірақ орындалу уақытының ерекше жағдайларына қатысты мұндай талап жоқ. Демек, орындалу уақытындағы ерекшеліктер қателермен бірге тексерілмеген ерекшеліктер санатына жатады.

Тексерілген ерекшеліктердің кемшілігі - бағдарламашы оны қалай жасау керектігін білмесе де өңдеуі керек. Сонымен, егер бағдарламашы түпнұсқаны ораусыз жаңа ерекшелік шығарса, бастапқы ерекшелікке жататын стек ізі жоғалады. Бұл жерде орындалу уақытындағы ерекшеліктер пайдалы болады. Барлық орындалу уақытының ерекше жағдайларын бір жерде өңдеуге болатындықтан, бағдарламашылар кодтың аз мөлшерін жаза алады. Екінші жағынан, тексерілген ерекшеліктерді ұстау керек болғандықтан, бағдарламашы үшін тосынсый жоқ. Ол әрқашан қандай тексерілген ерекшелік белгілі бір әдіс арқылы шығарылуы мүмкін екенін біледі. Бұған қарамастан, әртүрлі орындалу уақытының ерекше жағдайларын бағдарламашы білмей-ақ тастауға болады.

Ұсынылған: