Sobes.tech
Middle

Kādi ir pārbaudītu izņēmumu apstrādes veidi?

sobes.tech AI

Atbilde no AI

  • Izmantot try-catch bloku: tas ļauj noķert izņēmumu un to apstrādāt, novēršot programmas avāriju.
  • Paziņot, ka metode izmet izņēmumu, izmantojot atslēgvārdu throws metodei: tas pārliek atbildību par apstrādi uz izsaucējošo kodu.
  • Pārveidot pārbaudāmo izņēmumu par nepatērējamu: tas ļauj pārsūtīt izņēmumu bez skaidras apstrādes, bet tas var slēpt patieso problēmu.

try-catch piemērs:

// Piemērs, kā izmantot try-catch, apstrādājot pārbaudāmo izņēmumu
try {
    // Kods, kas var izraisīt pārbaudāmu izņēmumu (piemēram, IOException)
    FileReader file = new FileReader("my_file.txt");
    // Darbs ar failu...
} catch (IOException e) {
    // IOException apstrāde
    e.printStackTrace(); // Steka izdrukāšana derībai
    System.err.println("Kļūda, strādājot ar failu: " + e.getMessage());
}

throws piemērs:

// Metodes parakstā norādīt throws
public void readFile(String fileName) throws IOException {
    FileReader file = new FileReader(fileName);
    // Darbs ar failu...
}

// Izsaucējamai kodam jāapstrādā IOException vai jādeklarē tas savā throws
public void processFile(String filePath) {
    try {
        readFile(filePath);
    } catch (IOException e) {
        System.err.println("Kļūda, lasot failu: " + e.getMessage());
    }
}

Pārveidot pārbaudāmo izņēmumu par nepatērējamu:

// Piemērs, kā pārveidot pārbaudāmo izņēmumu par nepatērējamu
public void unsafeOperation() {
    try {
        // Kods, kas var izraisīt pārbaudāmu izņēmumu
        throw new IOException("Piemēra IOException")
    } catch (IOException e) {
        // Pārveidot par nepatērējamu izņēmumu
        throw new RuntimeException("Kļūda operācijā", e);
    }
}