Қате болған жағдайда әдіс тексерілетін немесе тексерілмейтін қателікті тастай ма?
AI-дан жауап
sobes.tech AI
Тексерілетін (checked) және тексерілмейтін (unchecked) қателіктер арасындағы таңдау контекстке және API дизайнына байланысты.
-
Тексерілетін қателіктер (
Exceptionмұрагерлері,RuntimeExceptionемес) міндетті түрде өңделуі немесе әдіс сигнатурасында (throws) жариялануы керек. Оларды қате күтулі және шақырушы кодпен өңделуі мүмкін болған жағдайда пайдаланады (мысалы,IOException). -
Тексерілмейтін қателіктер (
RuntimeExceptionмұрагерлері) әдетте бағдарламалық қателіктерді көрсетеді, оларды міндетті түрде ашық өңдеу қажет емес (мысалы,NullPointerException).
Егер әдіс қате туындау мүмкіндігімен кездессе, оны міндетті түрде өңдеу керек болса, тексерілетін қателікті қолданған дұрыс. Егер қате API-ны дұрыс пайдаланбау немесе ішкі қате туралы болса, тексерілмейтін қателікті лақтыру жақсы.
Мысал:
public void readFile(String path) throws IOException { // тексерілетін қате
// файлды оқу
}
public void setAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("Жас теріс бола алмайды"); // тексерілмейтін
}
this.age = age;
}