Это может звучать неловким...
Но я не понял это.
Почему мы имеем compile-time error
и нет compile-time exception
в Java?
Я означаю говорить, что мы никогда не говорим compile-time exception.
Мы склонны говорить это как compile-time error
.
Есть ли какая-либо определенная причина того же??
Любые предложения одобрены....
Спасибо!
Причина в том, что во время выполнения программы возникает исключение. В Java есть специальный тип для этого - класс Exception
.
Во время компиляции ваш код не выполняется, поэтому он не может вызвать исключение. В самом деле, правильное выполнение компилятора поиска ошибок в вашем коде - это, конечно, не исключительный случай!
Исключением является конкретное имя ошибки, которая может быть обработана в рамках логики вашего программного обеспечения. Ошибка - это просто опечатка или просто неправильный код.
Ошибки времени компиляции являются результатом невозможности создания программного обеспечения в соответствии с инструкциями. Например:
String myString = new ButtonEvent();
- ошибка времени компиляции. Хотя исключение - это то, что обнаруживается во время обработки программного обеспечения.
try{
while( file.readNextLine() != file.EOF ){
}
}
catch( UnopenedException ex ){
}
Здесь мы сделали предположение, что файл мог быть должным образом открыт и был открыт. Исключение составляют те «исключительные» случаи, когда открытие файла не происходило.
Исключение в java действительно отличается от ошибки компиляции. У нас нет термина исключение времени компиляции. Потому что исключение - это то, чего вы не ожидаете. Мы только отметили и не отметили исключение. За отмеченным исключением, во время компиляции , компилятор заставит вас перехватить его, но это не ошибка . Не поймите, вы не можете скомпилировать программу, но это не ошибка компиляции.
Исключение - это нечто большее, чем неожиданный поток, с которым можно справиться. Ошибка времени компиляции больше похожа на недопустимый код ... поэтому код даже не компилируется ... Отсюда термин «ошибка», поскольку он означает более серьезную проблему, которую необходимо исправить.
Ошибка ошибка указывает на наличие проблемы в программе. исключение - это особая конструкция, которая прерывает поток управления программы и разворачивает стек, собирая информацию о состоянии стека, чтобы можно было сообщить о нем.
Исключение может использоваться для указания ошибки, но не всегда. Например:
void startOperation() {
try {
while (someComplexOperationIsOnGoing()) {
checkRestart();
}
}
catch (RestartException re) {
startOperation();
}
}
void checkRestart() {
if (shouldRestart()) {
throw new RestartException();
}
}
Этот неполный пример кода призван показать случай, когда исключение не является ошибкой. Это не всегда является лучшей практикой; но это используется в некоторых случаях, когда необходимо прервать поток управления в глубине программы (например, перенаправление страницы в веб-фреймворке, при ответе на HTTP-запрос) и вернуть управление на более высокий уровень стека. Термин исключение относится к механизму, который прерывает программу.
В java существует класс Exception, который инкапсулирует это поведение. Класс Error также прерывает поток управления так же, как и Exception; но он предназначен только для серьезных, неустранимых проблем, возникающих во время выполнения программы. Он используется, например, когда в JVM заканчивается память и она не может создавать новые объекты.