Middle
Javaда чыгымдар механизмдери жөнүндө айтып бериңиз.
sobes.tech AI
AIден жооп
Javaда катаалуу механизми катаалуу жана башка өзгөчө кырдаалдар үчүн колдонулат, алар программаны иштетүү учурунда пайда болот.
Катаалуу механизминин негизги элементтери:
- Катаалуу (Exception): Окуяны көрсөтүүчү объект, ал программаны нормалдуу иштөөсүн бузат.
try,catch,finallyблоктору: Катаалуу иштетүү үчүн колдонулат.try: Кодуңузда катаалуу болушу мүмкүн болгон блок.catch:tryблокто белгилүү бир түрдөгү катаалуу пайда болсо ишке ашкан блок.finally: Кодуңузда ар дайым ишке ашкан блок, катаалуу болобу же жокпу, маанилүү эмес. Ресурстарды бошотуу үчүн колдонулат.
throwачкыч сөзү: Ачык түрдө катаалуу түзүү жана ыргытуу үчүн колдонулат.throwsачкыч сөзү: Методтун белгилеринде колдонулат, метод кайсы түрдөгү катаалуу чыгара турганын билдирет.
Javaда катаалуу хиерархиясы:
Throwable: Бардык катаалуу жана каталар үчүн негизги класс.Error: Өте олуттуу көйгөйлөрдү көрсөтөт, программалар көбүнчө алардан кутулушу кыйын (мисалы,OutOfMemoryError).Exception: Программа аны кармап, иштетиши мүмкүн болгон катаалуу.RuntimeException(Unchecked Exceptions): Ачык эмес катаалуу, аларды атайын иштетүү же билдирүү талап кылынбайт (мисалы,NullPointerException,ArrayIndexOutOfBoundsException).- Текшерилген катаалуу (
Checked Exceptions): Алардыtry-catchменен иштетүү жеthrowsменен билдирүү керек (мисалы,IOException,FileNotFoundException).
Катаалуу иштетүү мисалы:
public class ExceptionExample {
public static void main(String[] args) {
try {
int result = divide(10, 0);
System.out.println("Жыйынтык: " + result);
} catch (ArithmeticException e) {
// ArithmeticException катаалуу иштетүү
System.err.println("Ката: нөлгө бөлүү уруксат берилбейт.");
System.err.println("Катаалуу маалыматтары: " + e.getMessage());
e.printStackTrace(); // Стек трассасын чыгарыңыз
} finally {
// Бул блок ар дайым ишке ашат
System.out.println("Finally блок ишке ашты.");
}
}
public static int divide(int a, int b) {
// b = 0 болсо, ArithmeticException чыгарышы мүмкүн
return a / b;
}
}
throws колдонуу мисалы:
import java.io.FileReader;
import java.io.IOException;
public class ThrowsExample {
public static void readFile(String filename) throws IOException {
// IOException чыгарышы мүмкүн
FileReader reader = new FileReader(filename);
// Файл менен иштөө улантылат
}
public static void main(String[] args) {
try {
readFile("жок файл.txt");
} catch (IOException e) {
System.err.println("Файлды окууда ката: " + e.getMessage());
}
}
}