Sobes.tech
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 կամ հայտարարել իր `throws`-ում
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);
    }
}