Я думаю, что даже когда размещена трассировка стека, NullPointerException
не встречается в фрагменте кода, размещенном в вопросе. Есть только две строки, которые не являются переменными инициализациями или простыми операторами System.out.println
(которые в любом случае могут обрабатывать null
).
Есть
Class.forName( driverName ).newInstance();
строка, которая может вызвать исключение, когда Class.forName( driverName )
не найден. Однако это может вызвать ClassNotFoundException
, а не NullPointerException
, поэтому это можно устранить.
Единственная другая строка, которая может вызвать исключение, это
connection = DriverManager.getConnection(url, username, password);
линия. Однако url
, username
и password
не являются null
, поэтому эта строка также не вызовет исключения.
Итог, получите трассировку стека, проанализируйте ее самостоятельно (тривиально при использовании IDE, просто нажмите на трассировку стека и посмотрите, куда вас ведет IDE) и, если необходимо, опубликуйте ее здесь с соответствующим фрагментом кода.
Да, и почему вы объявляете свой метод для выброса ClassNotFoundException
, если вы его ловите и игнорируете в реализации метода. Это должно быть как худшее из обоих миров