-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathError.py
More file actions
42 lines (34 loc) · 1.16 KB
/
Error.py
File metadata and controls
42 lines (34 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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>''')