Пока я использую отражение, я наткнулся на эту ошибку.У меня есть класс с именем Test1, и когда я пытаюсь получить его объект Class, введя test1 в качестве входных данных для Class.forName (), он генерирует LinkageError вместо ClassNotFoundException.Почему строчная буква сбивает с толку программу и не позволяет ей генерировать обычное исключение ClassNotFoundException, как, например, в «sjghdjgh»?
Минимальный пример
Main
public class Main {
public static void main(String[] args) {
try {
Class.forName("test1");
}
catch (ClassNotFoundException cnfe) {
System.out.println(cnfe.toString());
}
catch (LinkageError le) {
System.out.println(le.toString());
}
}
}
Test1
public class Test1 {
}