Каковы наиболее распространенные исключения, возникающие при разработке Java? Последнее самое сложное!

Java задняя часть

Автор: Отдел исследований и разработок Терминала

NO.1 Java.alng.NullPointerException

Это исключение должно встречаться часто. Объяснение исключения - "программа встретила нулевой указатель", что просто означает, что вызывается неинициализированный объект или несуществующий объект. Эта ошибка часто возникает при создании картинок, вызове массивов В этих операции, например образ не инициализирован, или путь неверный при создании образа и т.д. Нулевые указатели появляются в операциях с массивами Во многих случаях это распространенная ошибка друзей, которые только начали изучать программирование, то есть путают инициализацию массивов с инициализацией элементов массива. Инициализация массива заключается в выделении необходимого пространства для массива, и элементы инициализированного массива не инстанцируются.
Он по-прежнему пуст, поэтому каждый элемент нужно инициализировать (если он вызывается).

Часто появляются в jsp-программировании: if (request.getParameter("username").equals("xxx")), out.println(session.getAttribute("record")) и так далее. Решение этой проблемы состоит в том, чтобы сделать нулевое сравнение перед его использованием:

 if (request.getParameter(“username”)!=null)  {if if (request.getParameter(“username”).  equals(“xxx”))…}

NO.2 java.lang.ClassNotFoundException

Это исключение является общей проблемой для многих программистов, которые изначально разрабатывали в JB и других средах разработки.При компиляции пакетов под JB под WTk объяснение исключения - "указанный класс не существует".Здесь в основном рассматривается класс ли имя и путь указаны правильно, если это пакет, сделанный под JB, он обычно добавляется с Package по умолчанию, поэтому после перехода в WTK обратите внимание на добавление пути Package.

NO.3 java.lang.ArithmeticException

Объяснение этого исключения - "исключение математической операции". Например, такая операция, как (1/0), деленная на ноль в программе, вызовет такое исключение. Для такого рода исключений вы должны тщательно проверить, включает ли ваша программа математика.В месте операции что-то не так с формулой?

NO.4 java.lang.ArrayIndexOutOfBoundsException

Я полагаю, что многие друзья часто сталкивались с этим исключением. Объяснение исключения - "нижний индекс массива выходит за пределы". Сейчас большинство программ имеют операции с массивами, поэтому при вызове массивов вы должны тщательно проверять, чтобы увидеть индекс, который вы вызываете. Это выходит за рамки массива?Вообще говоря, сделать такие ошибки в явных (т. е. непосредственно индексирующих константами) вызовах нелегко, но неявные (т. е. использующие переменные для указания индексации) вызовы часто допускают ошибки, и есть другая ситуация, что длина массива, определенного в программе, определяется какими-то специфическими методами, не объявленными заранее, в это время лучше сначала проверить длину массива, чтобы избежать этого исключения.

NO.5 java.lang.IllegalArgumentException

Объяснение этого исключения: "ошибка параметра метода". Многие методы в библиотеках классов J2ME в некоторых случаях вызывают такую ​​ошибку. Например, если параметр громкости в методе регулировки громкости записан как отрицательное число, возникнет это исключение. , Например, g .setColor(int red, int green, int blue) Три значения в методе, если их больше 255, также возникнет это исключение, поэтому, как только мы найдем это исключение, что нам нужно нужно быстро проверить вызов метода. Есть ли ошибка при передаче параметров?

NO.6 java.lang.IllegalAccessException

Объяснение этого исключения — «нет прав доступа», которое возникает, когда приложение хочет вызвать класс, но текущий метод не имеет прав доступа к классу. Обратите внимание на это исключение при использовании Package в программе.

NO.7 java.lang.IncompatibleClassChangeError

Несовместимая ошибка изменения класса. Возникает, когда в определении класса, от которого зависит выполняемый метод, произошло несовместимое изменение. Как правило, эта ошибка легко возникает, когда определение объявления некоторых классов в приложении изменяется без перекомпиляции всего приложения и непосредственного запуска.

NO.8 java.lang.InstantiationError

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

NO.9 java.lang.LinkageError

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

NO.10 java.lang.StackOverflowError

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

Все описания исключений можно найти в файле api. Вам не нужно носить все содержимое в голове, главное, чтобы у вас были какие-то впечатления от типичных аномалий и вы знали, где искать, когда вы на самом деле столкнулись с ними, в конце концов, самое болезненное для Java-программиста — это его объем знаний. Он слишком велик, и мы каждый день сталкиваемся с новыми ошибками, новыми проблемами и новыми знаниями, поэтому очень важно освоить набор собственных методов устранения неполадок. Квалифицированный программист должен хорошо разбираться в общих проблемах в программе и соответствующих решениях, иначе, если вы просто продолжите писать программу, не изменяя ее, это сильно повлияет на ваше собственное развитие. Среди стандартов, которые действительно могут показать ваш уровень кодирования, понимание исключений является одним из очень важных!

самое сложное исключение

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

Чтобы избежать подобных аномалий, я завел себе новую девушку~~,

Личный профиль: Раскованный, любовь к жизни.Культиватор Java (идентификатор общедоступной учетной записи WeChat: Культиватор Java), добро пожаловать, чтобы следовать. Получите 2000G подробных вопросов для интервью 2020 года