Терминология Java: Почему ошибка времени компиляции и не исключение времени компиляции?

Это может звучать неловким...
Но я не понял это.

Почему мы имеем compile-time error и нет compile-time exception в Java?

Я означаю говорить, что мы никогда не говорим compile-time exception.
Мы склонны говорить это как compile-time error.

Есть ли какая-либо определенная причина того же??
Любые предложения одобрены....

Спасибо!

7
задан meriton - on strike 22 May 2010 в 16:24
поделиться

6 ответов

Причина в том, что во время выполнения программы возникает исключение. В Java есть специальный тип для этого - класс Exception .

Во время компиляции ваш код не выполняется, поэтому он не может вызвать исключение. В самом деле, правильное выполнение компилятора поиска ошибок в вашем коде - это, конечно, не исключительный случай!

10
ответ дан 6 December 2019 в 09:18
поделиться

Исключением является конкретное имя ошибки, которая может быть обработана в рамках логики вашего программного обеспечения. Ошибка - это просто опечатка или просто неправильный код.

0
ответ дан 6 December 2019 в 09:18
поделиться

Ошибки времени компиляции являются результатом невозможности создания программного обеспечения в соответствии с инструкциями. Например:

String myString = new ButtonEvent();

- ошибка времени компиляции. Хотя исключение - это то, что обнаруживается во время обработки программного обеспечения.

try{
    while( file.readNextLine() != file.EOF ){
    }
}
catch( UnopenedException ex ){
}

Здесь мы сделали предположение, что файл мог быть должным образом открыт и был открыт. Исключение составляют те «исключительные» случаи, когда открытие файла не происходило.

1
ответ дан 6 December 2019 в 09:18
поделиться

Исключение в java действительно отличается от ошибки компиляции. У нас нет термина исключение времени компиляции. Потому что исключение - это то, чего вы не ожидаете. Мы только отметили и не отметили исключение. За отмеченным исключением, во время компиляции , компилятор заставит вас перехватить его, но это не ошибка . Не поймите, вы не можете скомпилировать программу, но это не ошибка компиляции.

4
ответ дан 6 December 2019 в 09:18
поделиться

Исключение - это нечто большее, чем неожиданный поток, с которым можно справиться. Ошибка времени компиляции больше похожа на недопустимый код ... поэтому код даже не компилируется ... Отсюда термин «ошибка», поскольку он означает более серьезную проблему, которую необходимо исправить.

2
ответ дан 6 December 2019 в 09:18
поделиться

Ошибка ошибка указывает на наличие проблемы в программе. исключение - это особая конструкция, которая прерывает поток управления программы и разворачивает стек, собирая информацию о состоянии стека, чтобы можно было сообщить о нем.

Исключение может использоваться для указания ошибки, но не всегда. Например:

void startOperation() {
 try {
  while (someComplexOperationIsOnGoing()) {
   checkRestart();
  }
 }
 catch (RestartException re) {
  startOperation();
 }
}

void checkRestart() {
 if (shouldRestart()) {
  throw new RestartException();
 }
}

Этот неполный пример кода призван показать случай, когда исключение не является ошибкой. Это не всегда является лучшей практикой; но это используется в некоторых случаях, когда необходимо прервать поток управления в глубине программы (например, перенаправление страницы в веб-фреймворке, при ответе на HTTP-запрос) и вернуть управление на более высокий уровень стека. Термин исключение относится к механизму, который прерывает программу.

В java существует класс Exception, который инкапсулирует это поведение. Класс Error также прерывает поток управления так же, как и Exception; но он предназначен только для серьезных, неустранимых проблем, возникающих во время выполнения программы. Он используется, например, когда в JVM заканчивается память и она не может создавать новые объекты.

3
ответ дан 6 December 2019 в 09:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: