Для большинства сред выполнения все загруженные классы будут находиться в ОЗУ, в разделе PermGen памяти Java.
На мой взгляд, вероятно, что для отображения ошибки требуются классыкоторые не были загружены ранее - которые доступны только на диске, которого больше нет.
Вы можете обойти эту проблему, запустив логику отображения ошибок при запуске программы, за исключением того, что она находится врежим, в котором он отображается невидимымЭто должно использовать тот же путь кода, чтобы загружались все необходимые классы, и гарантировать, что они уже известны, когда вам нужно отобразить свою ошибку.Если это слишком сложно, вы можете просто вместо этого вручную вызвать Class.forName("javax.swing.JOptionPane")
(для каждого необходимого класса), хотя это более хрупко и может сломаться, если вы измените код рендеринга без обновления жестко закодированных классов для загрузки.
Если это не случай (т. Е. Все необходимые классы были ранее загружены, и у вас все еще есть проблема), то ваша среда выполнения явно выгружает классы.Вам нужно посмотреть на его документацию, чтобы увидеть, что он здесь делает и как его остановить.