Ошибка ExceptionInInitializerError возникает при компиляции кода на Java из-за непредвиденных исключений во время оценки блоков статического инициализатора или инициализации статических переменных. www.scaler.com www.baeldung.com
Некоторые причины ошибки:
- Деление на ноль. www.scaler.com www.baeldung.com Например, если во время инициализации переменной разделить целое число на ноль, то возникнет исключение ArithmeticException, которое приведёт к ошибке ExceptionInInitializerError. www.scaler.com www.baeldung.com
- Неинициализированная переменная. www.scaler.com Если не инициализировать переменную, то по умолчанию ей будет присвоено значение null. www.scaler.com Затем, например, можно вызвать метод длины строки, который не применим для нулевых значений, что вызовет исключение NullPointerException. www.scaler.com
- Неразрешённые исключения. www.scaler.com Java не позволяет непроверенные исключения (например, FileNotFoundException) внутри блоков статического инициализатора. www.scaler.com
Чтобы устранить ошибку, нужно убедиться, что во время инициализации статических переменных или оценки блоков статического инициализатора не возникает никаких исключений во время выполнения. www.scaler.com