Рубрики
Без рубрики

Быстрые блюда на Java. Исключения

Вступление Эта серия будет посвящена базовому пониманию Java…. С пометкой java, программирование, новички, Тристан.

Быстрые уроки Java (Серия из 14 частей)

  • Эта серия будет посвящена базовому пониманию Java. Всякий раз, когда я ловлю себя на том, что спрашиваю: “Как это работает?”. Я создам сообщение в блоге и размещу его здесь. Эта серия не будет в порядке, поэтому не стесняйтесь читать любой пост, который вы сочтете наиболее актуальным.

Что такое Исключение?

  • Ну, во-первых, исключение – это сокращение от фразы “исключительное событие”. Исключение определяется как событие, возникающее во время выполнения программы, которое нарушает нормальный поток инструкций программы.

  • Когда в методе возникает ошибка, этот метод создает объект и передает его системе выполнения. Этот объект называется объектом исключения и содержит информацию об ошибке, включая ее тип и текущее состояние программы. Создание объекта исключения и передача его системе выполнения называется созданием исключения.

Что такое система выполнения Java

  • В основных терминах программного обеспечения система времени выполнения – это часть программного обеспечения, которая используется для выполнения кода. Система Java runtime состоит из 2 основных частей.

  • 1) Загрузчик классов : это отвечает за правильную загрузку классов и подключение их к основным библиотекам классов Java.

  • 2) JVM : виртуальная машина Java на самом деле делает довольно много вещей но в основном это то, что позволяет нам запускать наш Java-код.

  • Система Java Runtime System – это слой программного обеспечения, который работает поверх операционной системы компьютера, обеспечивая правильную работу всего.

Что происходит, когда возникает исключение?

  • Как только метод выдает исключение, среда выполнения пытается найти метод для его обработки. Среда выполнения выполняет поиск в стеке вызовов метода, содержащего блок кода для обработки исключения. Этот блок кода называется обработчиком исключений.

Уловить или Указать требование

  • Чтобы написать действительный код обработки исключений, мы должны выполнить требование catch или specify. Это означает, что код, работающий с исключениями, должен соответствовать одному из двух определений, перечисленных ниже

  • 1) Необходимо установить блок try/catch. Подробнее об этом позже.

  • 2) Метод должен содержать предложение throws, в котором перечислено исключение. Подробнее об этом позже

  • Когда мы имеем дело с исключениями, мы должны сначала определить исключение. Исключения фактически разбиты на 3 категории:

  • 1) Проверенное исключение : это незначительные ошибки, и любая хорошо продуманная программа должна уметь их обрабатывать и исправлять. Простым примером может служить случай, когда пользователь указал неверное имя для чтения файлов. Наша программа должна быть в состоянии справиться с этой ситуацией и дать соответствующий ответ.

  • 2) Ошибка : исключение считается ошибкой, если возникшее исключение вызвано внешней причиной, чем-то за пределами нашего приложения. Обычно наше приложение не может восстановиться после такого рода исключений. Примером может служить сервер, переходящий в автономный режим.

  • 3) Исключения во время выполнения : такого рода исключения создаются ошибками программирования, такими как логические ошибки или неправильное использование API. В то время как приложение может восстановиться после них, имеет смысл просто устранить ошибку.

-ошибки и исключения во время выполнения считаются непроверенными ошибками

Блок Попыток

  • Первым шагом к созданию обработчика исключений является создание блока попыток.
try{
  // code goes here 
}
  • Код, который может вызвать исключение, должен быть заключен внутри блока try. Если исключение возникает внутри блока try, исключение обрабатывается связанным с ним обработчиком исключений. Чтобы связать обработчик исключений с блоком try, мы должны поместить блок catch непосредственно после него.
try{
  // code goes here 
}catch(ExceptionType name){
 // exception handling code here
}
  • Вам разрешено размещать более одного блока catch, но поймите, что каждый блок catch является только обработчиком исключений для того типа исключения, который мы определяем.
try{
  // code goes here 
}catch(IoException error){
 // exception handling code here
}
  • Этот блок catch будет вызываться только при возникновении исключения IOException и будет игнорировать все остальные исключения. Это была очень упрощенная версия блока Java try/catch, поэтому я настоятельно рекомендую вам прочитать всю документацию , предоставленную нам Oracle.

Указание исключений, создаваемых методом.

  • Если вы следите за моей сборкой Maven серии , пожалуйста, обязательно обратите пристальное внимание на этот предстоящий синтаксис. Так как он будет часто использоваться в сериале

  • Иногда для методов целесообразно присоединять исключения, которые могут возникать внутри него. Это то, что делается в блоках try/catch. Однако бывают случаи, когда лучше позволить методу, находящемуся дальше по стеку вызовов, обрабатывать исключение.

  • Если метод не улавливает исключение, возникающее внутри него, то метод должен указать, что он может выдавать исключение. Он делает это с помощью предложения “бросает”

public void writelist() throws IOException{
  // normal code will go here 
}
  • Ключевое слово throws сообщает компилятору, что выше в стеке вызовов есть метод, который будет обрабатывать исключение IOException, если оно возникнет. Это может быть удобно, потому что позволяет нам писать меньше кода. Нам нужно написать только один обработчик исключений вместо многих.
  • Спасибо, что нашли время в свой день, чтобы прочитать этот мой пост в блоге. Если у вас есть какие-либо вопросы или проблемы, пожалуйста, прокомментируйте ниже или свяжитесь со мной по адресу Твиттер .
  • Также обязательно загляните на мой канал YouTube для получения дополнительных уроков по программированию.

Быстрые уроки Java (Серия из 14 частей)

Оригинал: “https://dev.to/theplebdev/java-quickies-exceptions-4gki”