Size: 1119
Comment:
|
Size: 1196
Comment: Exceptions derive from exception. Need call parent initializer?
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Exception classes are not special; You just write an ordinary class: | Derive Exception classes from Exception: |
Line 13: | Line 13: |
''Do we call {{{Exception.__init__( self )}}}..?'' -- LionKimbro [[DateTime(2003-09-06T19:51:18Z)]] |
Writing Exception Classes
I (LionKimbro) don't know much about writing exception classes; Here's hoping someone rewrites this better.
Derive Exception classes from Exception:
Toggle line numbers
1 class HostNotFound(Exception):
2 def __init__( self, host ):
3 self.host = host
Do we call Exception.__init__( self )..? -- LionKimbro DateTime(2003-09-06T19:51:18Z)
You may later write:
Toggle line numbers
1 try:
2 raise HostNotFound( "taoriver.net" )
3 except HostNotFound, X:
4 print "Host Not Found:", X.host
Overloading __str__
You can overload __str__ to get the exception to explain itself:
That way, you only need print the exception instance:
Toggle line numbers
1 try:
2 raise HostNotFound( "taoriver.net" )
3 except HostNotFound, X:
4 print X
I don't know if this is a good idea or not.
Questions
- How do you relay the traceback information?
- What better exception-foo is out there?