How to catch the following exception that is printed to the error console when trying to load a corrupted PNG file:
sun.awt.image.PNGImageDecoder$PNGException: i
As @MikeNakis said, a new Thread
is spawned. In fact, ImageIcon
delegates the image loading to a MediaTracker
which has a spawned Thread
and exposes methods to ImageIcon
to get image status
Try using getImageLoadStatus()
which returns the underlying status of the image in the MediaTracker
You can not get rid of the exception, as exceptions are catched by the `MediaTracker̀ and sent to sytem err. By the way, there is probably a mean to redirect system err elsewhere and keep your app console clean