Code: Alles auswählen
def foo():
doSomething
try:
foo()
except:
print "something went wrong"
Code: Alles auswählen
try:
foo()
except errorCode:
print "something went wrong: %s" % errorCode
Code: Alles auswählen
def foo():
doSomething
try:
foo()
except:
print "something went wrong"
Code: Alles auswählen
try:
foo()
except errorCode:
print "something went wrong: %s" % errorCode
Klar:droptix hat geschrieben:Gibt's natürlich nicht, aber gibt's was äquivalentes?
Code: Alles auswählen
try:
foo()
except IOError:
print 'IOError was found'
Hi droptix!droptix hat geschrieben:Nun hab ich mir grad fein angewöhnt, Programmabstürze mit Exceptions abzufangen... und schon hab ich Probleme beim Weiterentwickeln
Code: Alles auswählen
try:
foo()
except IOError, error_code:
print 'IOError was found, ErrorCode: ', error_code
Code: Alles auswählen
try:
foo()
except Exception, errorCode:
print errorCode
Code: Alles auswählen
import sys, traceback
class foo:
def __init__(self):
self.debug = True
# cause exception by calling non-exisiting method
try:
self.bar2()
except Exception, errorCode:
print "Something went wrong!"
self.error(traceback.tralala("i.dont.know"))
def bar(self):
print "bar was called"
def error(self, error):
if self.debug == True:
print "Full error message only if 'debug=True' :)"
Code: Alles auswählen
import sys, traceback
class foo:
def __init__(self):
self.debug = True
# cause exception by calling non-exisiting method
try:
self.bar2()
except:
print "Something went wrong!"
self.error()
def bar(self):
print "bar was called"
def error(self):
if self.debug == True:
traceback.print_tb(sys.exc_traceback)
if __name__ == "__main__":
foo()
Hi droptix!droptix hat geschrieben:Es wäre nett, wenn ich in meinem Programm eine Variable 'debug = True' setzen könnte. Wenn die 'True' ist, dann soll die volle Fehlermeldung kommen.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from optparse import OptionParser
#----------------------------------------------------------------------
def parse_options():
"""
Wertet die Argumente aus und gibt diese zurück
"""
#Usage-Text angeben und Parser-Objekt erzeugen
usage = "%prog [options]\n\n" + \
" Kurze Erklaerung zum Programm\n" + \
" by Gerold Penz 2006 -- gerold.penz@tirol.utanet.at"
parser = OptionParser(usage = usage)
#Optionen hinzufuegen
parser.add_option("-d", "--debug",
dest = "debug",
action = "store_true",
default = False,
help = "show debug messages")
#Optionen parsen
(options, args) = parser.parse_args()
# DEBUG als globale Variable setzen
global DEBUG
DEBUG = options.debug
#Rueckgabe
return (options, args)
#----------------------------------------------------------------------
def main():
"""
Hauptprozedur
"""
#Optionen und Argumente parsen
(options, args) = parse_options()
# Ab hier kann gearbeitet werden.
# ...
# ...
if DEBUG:
print "Ich bin im Debug-Modus!"
#----------------------------------------------------------------------
if __name__ == "__main__":
main()
Code: Alles auswählen
except:
print "Das geht hier alles nicht! So ein Mist!"
raise