Junior
Илм дар Java чист?
sobes.tech AI
Ҷавоб аз AI
Ҳодиса (Exception) дар Java — ин рӯйдодест, ки раванди оддии иҷрои барнома дар вақти иҷро (runtime)ро қатъ мекунад. Он нишон медиҳад, ки хатогӣ ё ҳолати номуайян рӯй додааст.
Ҳодисаҳо бо истифода аз механизм try-catch-finally идора карда мешаванд.
Ҳамҷоягии ҳодисаҳо:
ThrowableError(хатоҳои ҷиддӣ, ки одатан барқарор кардан мумкин нест)Exception(хатоҳои камтар ҷиддӣ, ки метавонанд идора карда шаванд)RuntimeException(ҳодисаҳои ғайриназоратшаванда, ки дар вақти иҷро рӯй медиҳанд, масаланNullPointerException)- Ҳодисаҳои санҷидашуда (checked exceptions) (талап мекунанд, ки ба онҳо равшан идора ё дар сигнатураи метод эълон карда шаванд, масалан
IOException)
Мақсади ҳодисаҳо:
- Ҷудо кардани коди, ки хатогиро ба вуҷуд меорад, аз коди, ки онро идора мекунад.
- Беҳтар кардани хонданавӣ ва эътимоднокии барнома.
- Пешгирӣ кардани қатъии ногаҳонии барнома.
Масалан барои идоракунии ҳодиса:
try {
// Коди, ки метавонад ҳодиса ба вуҷуд орад
int result = 10 / 0; // ArithmeticException
} catch (ArithmeticException e) {
// Идоракунии ҳодиса
System.err.println("Хатогӣ дар тақсим ба нул: " + e.getMessage());
} finally {
// Блок, ки ҳамеша иҷро мешавад, новобаста аз ҳодиса
System.out.println("Блок finally иҷро шуд.");
}