Печать исключений stackTrace и отладка в java

stackTrace (call trace по-французски) — это представление стека во время выполнения в java  программы. Исключения часто встречаются в наших программах, когда программисты компилируют свои программы. Трассировка вызова позволила нам отследить источник ошибки.

public static void main(String[] args) {
press(null);//строка 9
}
static void press(int[] a) {
System.out.println("button "+a[0]);//строка 12
}
Исключение в потоке "main" java.lang.NullPointerException
в myClass.press(StringCompare.java:12)
в myClass.main(StringCompare.java:9)
Этот пример прост, вы можете сказать, где произошла ошибка, щелкнув по последнему вызванному методу. Ошибка находится в строке 12 и указывает на доступ к нулевому объекту (NullPointerException). Единственным присутствующим объектом является a[0], поэтому он равен null, и мы замечаем, что метод press вызывается в основном с нулевым параметром.

Пример try/catch

Метод  java.lang.Throwable.printStackTrace()  Выводит всю последовательность от начала до появления исключения в виде строк в порядке убывания стека. Последняя строка представляет корень, который является первым методом с накоплением, а последняя представляет вершину стека, в которой находится ошибка. Линии красные, потому что дисплей сделан с ними. System.err.

Исключение в потоке "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at Fenetre.(Fenetre.java:127)
at Test.main(Test.java:9)
Это исключение выдано выполнив программу:

printStackTrace exception java

Откроется класс Fenetre.java, и мы сможем найти причину в строке 127, которая указывает на то, что входной поток равен null. Это означает, что изображение не было найдено, но почему оно вызвало исключение?

Исключение в потоке "main" java.lang.IllegalArgumentException: input == null!
Ищем тип исключения в catch и замечаем, что это IOExeption, потому что метод getResource должен императивно обращаться к ресурсу, который находится в файле/icone.png иначе в нашем случае изображение не недоступен, то выдается исключение и программа останавливается.

References
Что такое трассировка стека и как ее использовать для отладки ошибок приложения?
Class Throwable
Как напечатать трассировку стека для отладки исключений Java
Advertisement

AdBlock Detected

Please disable your ad blocker and refresh the window to use this website.