#java #exception #netbeans #compiler-errors
#java #исключение #netbeans #ошибки компилятора
Вопрос:
Вот мой код
package vista;
public class MyMainClass
{
public static void main(String[] args)
{
try
{
if(1>0) throw new MyException("ERROR");
}
catch(MyException err)
{
System.out.println(err.toString());
}
}
}
package vista;
public class MyException extends Exception
{
// Constructor.
public MyException(String errMsg)
{
super(errMsg);
}
}
Вывод:
Error: Unable to initialize main class vista.MyMainClass
Caused by: java.lang.NoClassDefFoundError: vista/MyException
Command execution failed.
Оба класса находятся в одной vista
папке, и перед выполнением NetBeans распознает это. Как мне это решить?
Редактировать: пока программа не запущена, а просто компилируется, я понял, что NetBeans пытается загрузить некоторые файлы. Я отключил свой брандмауэр, запустил программу, она загрузила некоторые файлы, и теперь она работает правильно.
Комментарии:
1. Обычная причина этого — неправильный или неправильно сконфигурированный путь к классу.
2. Помимо вашей реальной проблемы, почему вы выбрасываете исключение, а затем сразу же его перехватываете? Исключение не требуется.
3. @AndyTurner О, я прокомментировал остальную часть кода, чтобы просто сосредоточиться на том, что вызвало проблему.
4. @Leo Я ценю, что вы нашли время для этого. Многие люди не будут сокращать свой код до минимального примера для нас. Наличие чего-то короткого и понятного действительно полезно как для отвечающих, так и для будущих посетителей.
Ответ №1:
Я думаю, вы не добавили пакет Vista во время компиляции. Это будет похоже:
$pwd
$path/vista
$cd ..
$javac vista/MyMainClass.java
$java vista.MyMainClass
vista.MyException: ERROR