from ExamplePage import ExamplePage
class CustomError:
"""Custom classic class not based on Exception (for testing)."""
def __init__(self, msg):
self.msg = msg
def __str__(self):
return self.msg
class Error(ExamplePage):
def title(self):
return 'Error raising Example'
def writeContent(self):
error = self.request().field('error', None)
if error:
msg = 'You clicked that button!'
if error.startswith('String'):
error = msg
elif error.startswith('Custom'):
error = CustomError(msg)
elif error.startswith('System'):
error = SystemError(msg)
else:
error = StandardError(msg)
self.writeln('<p>About to raise an error...</p>')
raise error
self.writeln('''<h1>Error Test</h1>
<form action="Error" method="post">
<p><select name="error" size="1">
<option selected>Standard Error</option>
<option>System Error</option>
<option>Custom Class (old)</option>
<option>String (deprecated)</option>
</select>
<input type="submit" value="Don't click this button!"></p>
</form>''')
|