Я создал приложение для свинга Jython, используя eclipse и pydev.Я использовал простые изображения для фона всех кнопок.95% времени все прекрасно работает.Тем не менее, примерно в 5% случаев при добавлении или удалении содержимого с экрана это происходит:
Exception in thread "AWT-EventQueue-0" at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1310)
at com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1579)
at javax.imageio.ImageIO.read(ImageIO.java:1438)
at javax.imageio.ImageIO.read(ImageIO.java:1342)
at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
javax.imageio.IIOException: javax.imageio.IIOException: Error reading PNG image data
Разочаровывает то, что его трудно воспроизвести, и это может произойти в любом месте приложения, которое я рисуюPNG.Я, конечно, могу поймать исключение и заставить его повторно импортировать изображение, но я надеюсь выяснить причину.
Я называю ресурсы так:
notPressed = ImageIO.read(pkg_resources.resource_stream('images', "button-blue.png")).getScaledInstance(width,height, Image.SCALE_SMOOTH )
Мое единственное предположениев том, что иногда pkg_resources может не открыть файловый поток, вызывая исключение.Любые предложения о том, как отследить это, или я должен быть просто счастлив, что могу заставить его тихо провалиться?