Sobes.tech
Junior — Middle

რომელი მომხმარებლის გამონაკლისი უნდა შეიქმნას და გადაყრილ იქნას მეთოდში, შემდეგ სიტყვა throws-ის, რათა გარანტირებული იყოს, რომ შემძენი კოდი ამ გამონაკლისს міндетად მოიხსნის?

sobes.tech AI

პასუხი AI-სგან

Java-ში, რათა უზრუნველყოთ, რომ ზარის კოდი სავალდებულო იქნება გამონაკლისის მართვა, უნდა შექმნათ მომხმარებლის მიერ შექმნილი გამონაკლისი, რომელიც მემკვიდრეობას იღებს კლასიდან Exception (მაგრამ არა RuntimeException-დან). ამგვარი გამონაკლისები სახელწოდებით არის შემოწმებული გამონაკლისები (checked exceptions).

მომხმარებლის მიერ შექმნილი შემოწმებული გამონაკლისის მაგალითი:

public class MyCheckedException extends Exception {
    public MyCheckedException(String message) {
        super(message);
    }
}

მეთოდში ეს გამონაკლისი გამოაცხადება throws-ით:

public void myMethod() throws MyCheckedException {
    // ლოგიკა
    throw new MyCheckedException("შეცდომა");
}

ზარის კოდი ვალდებულია ამ გამონაკლისის მართვა ან try-catch-ით, ან შემდეგი throws-ით გამოცხადებით.