Seite 1 von 1

Programmabbruch trotz try ?

Verfasst: Donnerstag 8. März 2018, 14:54
von dennbas
Hallo,

folgender Code der trotz der try-Anweisung abbricht:

Code: Alles auswählen

try:
	im = Image.open(curPic)
except:
	...
else:
	...
Fehlermeldung: cannot identify image file
Jemand eine Idee ?

Re: Programmabbruch trotz try ?

Verfasst: Donnerstag 8. März 2018, 15:10
von Sirius3
@dennbas: woher kommt `Image` und wie sieht der komplette Traceback aus?
Generell solltest Du keine nackten except benutzen, weil das auch viele Programmierfehler und unerwartete Fehler überdeckt. Benutze so konkrete Exceptions wie möglich.

Re: Programmabbruch trotz try ?

Verfasst: Donnerstag 8. März 2018, 15:20
von dennbas
Hi Sirius3,

Image kommt von Pillow

Code: Alles auswählen

from PIL import Image,ImageTk
except und else Block sind nicht leer, habe nur den Code nicht eingefügt.

curPic ist der Pfad zum Bild.

Re: Programmabbruch trotz try ?

Verfasst: Donnerstag 8. März 2018, 17:24
von Sirius3
@dennbas: wie sieht der komplette Traceback aus?

Re: Programmabbruch trotz try ?

Verfasst: Donnerstag 8. März 2018, 19:24
von BitteEinBit
Nehm den try: except Block usw. mal raus und das Programm abstürzen.
Dann bekommst du bessere Fehlermeldungen. Mit Zeile wo das Problem ist usw.

Re: Programmabbruch trotz try ?

Verfasst: Montag 12. März 2018, 09:12
von dennbas
Der Fehler kommt in open von Pillow:

File "C:\Python27\lib\site-packages\PIL\Image.py", line 2585, in open % (filename if filename else fp))

Die Datei ist benannt wie viele andere auch. Kann sie so auch normal öffnen in Windows. Sehe als kein Unterschied zu den vielen anderen die gehen.

Re: Programmabbruch trotz try ?

Verfasst: Montag 12. März 2018, 10:02
von Sirius3
@dennbas: die Zeile, die Du gepostet hast, ist nicht sehr hilfreich für das Verständnis des Problems. Zeige den kompletten Traceback!

Re: Programmabbruch trotz try ?

Verfasst: Dienstag 13. März 2018, 10:27
von dennbas
Hier der Traceback aus der Konsole:

Code: Alles auswählen

Traceback (most recent call last):
  File "H:\BildAbgleich_v2.py", line 650, in <module>
    ALLpics = SortPics(ALLpics)
  File "H:\BildAbgleich_v2.py", line 204, in SortPics
    im = Image.open(CheckPic)
  File "C:\Python27\lib\site-packages\PIL\Image.py", line 2585, in open
    % (filename if filename else fp))
IOError: cannot identify image file '786054_001.jpg'

Re: Programmabbruch trotz try ?

Verfasst: Dienstag 13. März 2018, 11:12
von Sirius3
@dennbas: laut Traceback tritt der Fehler in einer Zeile

Code: Alles auswählen

im = Image.open(CheckPic)
auf, Du hast aber den try-Block um eine Zeile geschrieben, die so aussieht:

Code: Alles auswählen

im = Image.open(curPic)
Du schaust also an der falschen Stelle.

Re: Programmabbruch trotz try ?

Verfasst: Freitag 16. März 2018, 15:54
von dennbas
Hi Sirius,

das war nicht das Problem, hatte nur 2 unterschiedliche Versionen.

Das Problem konnte auch nicht durch meine Infos hier gelöst werden und war wirklich doof von mir.
Hatte hier den Bsp.-Code so angepasst dass der Fehler nicht ersichtlich war.

Hatte eine Exception deklariert die nicht eingetroffen ist. Damit ist das Programm dann abgebrochen.
Nun habe ich den Exception-Typ herausgenommen wodurch das Programm nicht mehr abbricht.


Dennoch vielen Dank für die Hilfe und Bemühungen.

VG,
Dennis

Re: Programmabbruch trotz try ?

Verfasst: Samstag 17. März 2018, 17:29
von Sirius3
@dennbas: also hast Du es verschlimmbessert. Generell solltest Du keine nackten except benutzen, weil das auch viele Programmierfehler und unerwartete Fehler überdeckt. Benutze so konkrete Exceptions wie möglich. Hier tritt ein IOError auf, also solltest nur den abfangen.