2013-06-13 4 views
0

Возможно ли пропустить ошибки компиляции Java?Пропуск ошибок компиляции Java

Таким образом, программа может продолжаться, даже если она столкнулась с ошибками.

Так это своего рода делает максимальное усилие, чтобы продолжать работать (пока все взорвется)

+0

Вы имеете в виду ошибки времени выполнения? – MaVRoSCy

+0

Вы имеете в виду один файл или весь проект? – pinkpanther

+0

Что такое программа, которая даже не может работать. (вы всегда можете комментировать вещи). – Nishant

ответ

4

No. Если вы получаете ошибки компиляции, это означает, что ваша программа не является допустимым Java. Что бы это означало для продолжения? Он еще не работает.

2

Если у вас есть компиляции ошибок, программа не может быть скомпилирован для выполнения кода. Это означает, что программа не может быть запущена.

Итак, ответ NO, он не может.

Другие ошибки и ошибки: runtime ошибки. Это происходит из-за плохой логики в коде (т. Е. Пытается изменить нулевой объект). Компилятор не может обнаружить те, которые очень тонкие, зависящие от данных (и большую часть времени в зависимости от пользовательского ввода) ошибки. Вы можете пропустить те, у кого есть блок try-catch. Если вы хотите узнать больше, пожалуйста, обратитесь к этой статье:

http://docs.oracle.com/javase/tutorial/essential/exceptions/try.html

1

Нет его просто не представляется возможным. Компиляция java-кода дает вам байтовый код, который затем запускается на JVM. Если компиляция завершится неудачей, компилятор Java не сможет генерировать действительный байтовый код. Это причина, по которой нет смысла генерировать неверный код байта, который не может быть запущен JVM как таковой.

2

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

Это позволит вам запустить остальную часть программы. Я бы не рекомендовал его, так как вы получите несовместимую программу. Поэтому используйте на свой страх и риск.

Тем не менее это может пригодиться, например, если вы запускаете unittests. Это позволяет запускать тесты, даже если части вашей программы определенно не работают.

1

если мы сломаем эту вещь, то рано или поздно никто не будет разрабатывать код. :)

1

Ну ... вид.

Некоторые IDE позволяют запускать код, в котором есть ошибки компиляции. Например, Eclipse.

Если вы попытаетесь выполнить (скажем) метод с ошибкой компиляции, вы получите исключение, сообщение которого сообщает что-то о том, что в этом коде есть ошибка компиляции. На самом деле компилятор Eclipse скомпилировал этот метод к методу заглушки, который просто выбросит исключение.

Обратите внимание, что это поведение НЕ поддерживается JLS. И лично, я думаю, что это плохая идея использовать эту функцию IDE.


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

0

Вы ожидаете избежать compilation errors, что вы делаете? Если вы избежите ошибок компиляции, вы получите файл .class? без .class файл, который вы не можете себе представить, чтобы запустить код. Ошибки компиляции возникают, когда ваш код содержит синтаксические символы. без правильного синтаксиса, который вы не можете сделать. Для получения дополнительной информации об ошибке компиляции см. THIS

Смежные вопросы