Nach einer Exception mit Schleife fortfahren?
Verfasst: Sonntag 23. Februar 2014, 15:07
Hallo,
ich habe zu Beginn meines Python Quellcodes einige Exceptions definiert und lasse danach eine Schleife durchlaufen, die mir Daten auswerfen soll. Wenn ein Problem mit der Datenverarbeitung auftritt, erhalte ich eine Exception Nachricht und der Interpreter steigt sofort aus der Schleife aus. Ich möchte jedoch, dass der Interpreter nach einer Exception wieder zum Beginn der Schleife springt und mit einem weiteren Datensatz weitermacht.
Ich habe schon versucht hinter jeder definierten Klasse einer exception ein "continue" einzubauen, alerdings bekomme ich dann:
SyntaxError: 'continue' not properly in loop
als Fehlermeldung.
Ich habe auch schon überlegt, die exceptions ans ende der schleife zu packen und danach das continue einzufügen. Aber ich denke mir, der Interpreter muss doch schon bevor ein Fehler auftritt wissen, welche exception er auswerfen soll.
Kann mir jemand dabei behilflich sein, was der richtige Weg dabei ist?
Unten zu sehen ist als Bsp. eine Exception Definition ganz am Anfang des Codes und nach den definierten Exceptions beginnt die Schleife, die durchlaufen werden soll.
Vielen Dank und freundliche Grüße
vdv84
ich habe zu Beginn meines Python Quellcodes einige Exceptions definiert und lasse danach eine Schleife durchlaufen, die mir Daten auswerfen soll. Wenn ein Problem mit der Datenverarbeitung auftritt, erhalte ich eine Exception Nachricht und der Interpreter steigt sofort aus der Schleife aus. Ich möchte jedoch, dass der Interpreter nach einer Exception wieder zum Beginn der Schleife springt und mit einem weiteren Datensatz weitermacht.
Ich habe schon versucht hinter jeder definierten Klasse einer exception ein "continue" einzubauen, alerdings bekomme ich dann:
SyntaxError: 'continue' not properly in loop
als Fehlermeldung.
Ich habe auch schon überlegt, die exceptions ans ende der schleife zu packen und danach das continue einzufügen. Aber ich denke mir, der Interpreter muss doch schon bevor ein Fehler auftritt wissen, welche exception er auswerfen soll.
Kann mir jemand dabei behilflich sein, was der richtige Weg dabei ist?
Unten zu sehen ist als Bsp. eine Exception Definition ganz am Anfang des Codes und nach den definierten Exceptions beginnt die Schleife, die durchlaufen werden soll.
Vielen Dank und freundliche Grüße
vdv84
Code: Alles auswählen
class PyaErrTemplate(Exception):
def __init__(self, what, errType, where=None, why=None, solution=None, addInfo=None):
"""
The PyA error class template.
Parameters:
- 'what' - What has happened?
- 'errType' - Description of the type of error.
- 'where' - Where did it happen?
- 'why' - Why did it happen?
- 'solution' - string or list of strings, How can the problem be solved?
- 'addInfo' - Whatever additional information may be available.
All parameters are strings of not stated otherwise.
Of the parameters, only the first (what) and second (errType) are mandatory; the latter
should be provided by every more specialized exception class.
.. note;: The template should never be raised directly, but specialized derived classes
should be used.
"""
self.what = what
self.errorType = errType
self.where = where
self.why = why
# Check whether solution is iterable
self.solution = solution
if solution is not None:
if hasattr(solution, "__iter__"):
self.solution = copy.deepcopy(solution)
else:
self.solution = [solution]
self.addInfo = addInfo