Sobes.tech
Junior — Middle

Мақсади истисноҳои unchecked дар барномасозӣ чист?

sobes.tech AI

Ҷавоб аз AI

Дархости ношаёфтаи дар Java — инҳисосҳои вақти иҷро (RuntimeException ва зериҳисобҳои он) мебошанд, ки талаб намекунанд, ки дар имзои метод ҳатман баррасӣ ё эълон шаванд.

Мақсади дархости ношаёфта:

  • Барои хатоҳо истифода мешаванд, ки одатан аз хатоҳои барномасозӣ пайдо мешаванд, масалан, NullPointerException, IllegalArgumentException.
  • Имкон медиҳанд, ки код бо санҷишҳо ва барқароркунии дархостҳо, ки интизор намеравад, бор карда нашавад.
  • Равон кардани рушд вақте ки дархост нишон медиҳад, ки API ё логика нодуруст истифода шудааст.

Масалан:

public int divide(int a, int b) {
    if (b == 0) {
        throw new IllegalArgumentException("Делитель наметавонад нул бошад");
    }
    return a / b;
}

Ин ҷо, IllegalArgumentException — ин дархости ношаёфта аст, ва метод ӯро дар throws эълон кардан шарт нест. Ин нишон медиҳад, ки метод нодуруст истифода шудааст.