Middle
Кадом усулҳо барои коркарди истисноҳои санҷидашуда мавҷуданд?
sobes.tech AI
Ҷавоб аз AI
try-catchблоки истифода баред: имкон медиҳад, ки истисноро ба даст оред ва онро коркард кунед, ки ба анҷоми нобаҳаммади барнома пешгирӣ мекунад.- Эълон кунед, ки метод метавонад истисноро партояд, бо истифода аз калиди
throwsдар имзои метода: ин масъулиятро ба коди даъваткунанда мегузорад. - Як истиснои санҷидашударо дар як ғайрисанҷидаи он пӯшонед: имкон медиҳад, ки истисноро бе коркарти ошкоро гузаронед, аммо метавонад мушкилии воқеиро пинҳон кунад.
Маслиҳат барои истифодаи try-catch:
// Маслиҳат барои истифодаи try-catch барои коркарди истиснои санҷидашударо
try {
// Код, ки метавонад истиснои санҷидашударо партояд (масалан, IOException)
FileReader file = new FileReader("my_file.txt");
// Кор бо файл...
} catch (IOException e) {
// Коркарди IOException
e.printStackTrace(); // Намоиши стекаи даъватҳо барои ташхис
System.err.println("Хатогӣ дар кор бо файл: " + e.getMessage());
}
Маслиҳат барои истифодаи throws:
// Маслиҳат барои истифодаи `throws` дар имзои метода
public void readFile(String fileName) throws IOException {
FileReader file = new FileReader(fileName);
// Кор бо файл...
}
// Код, ки онро даъват мекунад, бояд IOException-ро коркард кунад ё дар имзои худ эълон кунад
public void processFile(String filePath) {
try {
readFile(filePath);
} catch (IOException e) {
System.err.println("Хатогӣ дар хондани файл: " + e.getMessage());
}
}
Маслиҳат барои пӯшондани истиснои санҷидашударо дар ғайрисанҷида:
// Маслиҳат барои пӯшондани истиснои санҷидашударо дар ғайрисанҷида
public void unsafeOperation() {
try {
// Код, ки метавонад истиснои санҷидашударо партояд
throw new IOException("Масалан, IOException")
} catch (IOException e) {
// Табдил додани истиснои санҷидашударо ба ғайрисанҷида
throw new RuntimeException("Хатои дар амалиёт ошкор шуд", e);
}
}