Как перехватить следующее исключение, которое выводится на консоль ошибок при попытке загрузить поврежденный файл PNG:
sun.awt.image.PNGImageDecoder$PNGException: invalid depth
at sun.awt.image.PNGImageDecoder.produceImage(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)
Следующий код заставляет вышеуказанный вывод появиться в консоли ошибок. Но исключение никогда не ловится:
import javax.swing.ImageIcon;
public class TestBadPNG
{
public static void main(String[] args)
{
try
{
new ImageIcon(new byte[] { -119, 80, 78, 71, 13, 10, 26, 10, 0, });
}
catch (Exception e)
{
// This line will not be reached.
System.err.println("Bad image.");
}
}
}
Возможно, изображение должно быть загружено другим способом?
Спасибо!