Loading...

Исключения класстары

 

Бардык өзгөчөлүктөр үчүн базалык класс - бул Throwable класс. Андан мурунтан эле эки класс мураска алынган: Ката жана Exception. Бардык башка класстар ушул эки класстан алынган.

 

Error классы Java иштөө убакытындагы ички каталарды сүрөттөйт. Программисттин мындай каталарды чечүү үчүн өтө чектелген мүмкүнчүлүктөрү бар.

Exception классынан өзгөчөлүктөрдүн өзү мураска алынган. Бул өзгөчөлүктөрдүн ичинен RuntimeException классы баса белгилениши керек. RuntimeException - бул текшерилбеген өзгөчөлүктөрдүн (текшерилбеген өзгөчөлүктөр) деп аталган тобу үчүн базалык класс - компилятор мындай өзгөчөлүктөр иштетилгендигин текшербейт жана аларды метод декларациясында ыргытуу оператору менен бирге калтырып коюуга болот. Мындай өзгөчөлүктөр типти туура эмес өзгөртүү же массивдин толуп кетиши сыяктуу иштеп чыгуучунун каталарынын натыйжасы болуп саналат.

 

Текшерилбеген бөтөнчөлүктөрдүн кээ бирлери:

  • ArithmeticException: нөлгө бөлгөндө өзгөчө учур ташталган

 

  • IndexOutOfBoundException: индекс массивдин чегинен тышкары

 

  • IllegalArgumentException: Методду чакырууда колдонулган жараксыз аргумент

 

  • NullPointerException: Колдонулган нөл шилтеме

 

  • NumberFormatException: Сапты санга которууда ката кетти

 

Exception классынан алынган бардык башка класстар текшерилген өзгөчөлүктөр деп аталат.

 

Текшерилген бөтөнчөлүктөрдүн кээ бирлери:

  • CloneNotSupportedException: Объект клондолуп жаткан класс Cloneable интерфейсин ишке ашырбайт

 

  • InterruptedException: Жип башка жип менен үзүлгөн

 

  • ClassNotFoundException: Класс табылбай жатат

 

Мындай өзгөчөлүктөр try..catch конструкциясы аркылуу чечилет. Же болбосо, throws билдирүүсүнөн кийин өзгөчө учурларды көрсөтүү менен бул ыкманы чакыра турган ыкмага иштетүүнү өткөрө аласыз:

public Person clone() throws CloneNotSupportedException{

    

    Person p = (Person) super.clone();

    return p;

}

Жыйынтыгында бөтөнчөлүктөрдүн төмөнкү иерархиясы:

Бардык өзгөчөлүк класстары Exception классынан мураска алынгандыктан, алардын бардыгы анын бир катар ыкмаларын мурастап алышат, алар өзгөчө кырдаалдын мүнөзү жөнүндө маалымат алууга мүмкүндүк берет. Бул ыкмалардын ичинен эң маанилүүлөрүн белгилейбиз:

 

getMessage() ыкмасы өзгөчө билдирүүнү кайтарат

 

getStackTrace() ыкмасы өзгөчө учурдун стек изин камтыган массивди кайтарат

 

printStackTrace() методу стек изин көрсөтөт

 

Мисалы:

try{

    int x = 6/0;

}

catch(Exception ex){

        

    ex.printStackTrace();

}