-
Notifications
You must be signed in to change notification settings - Fork 1
/
python-xlib_6.html
128 lines (119 loc) · 6.4 KB
/
python-xlib_6.html
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created on September 16, 2020 by texi2html 5.0
texi2html was written by:
Lionel Cons <[email protected]> (original author)
Karl Berry <[email protected]>
Olaf Bachmann <[email protected]>
and many others.
Maintained by: Many creative people.
Send bugs and suggestions to <[email protected]>
-->
<head>
<title>The Python X Library: 4 Error Handling</title>
<meta name="description" content="The Python X Library: 4 Error Handling">
<meta name="keywords" content="The Python X Library: 4 Error Handling">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 5.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
pre.display {font-family: serif}
pre.format {font-family: serif}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: serif; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: serif; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:pre}
span.nolinebreak {white-space:pre}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Error-Handling"></a>
<table class="header" cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="python-xlib_3.html#Connect-to-a-Display" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td valign="middle" align="left">[<a href="python-xlib_5.html#OpenVMS-Display-Names" title="Previous section in reading order"> < </a>]</td>
<td valign="middle" align="left">[<a href="python-xlib.html#Top" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="python-xlib_7.html#X-Error-Classes" title="Next section in reading order"> > </a>]</td>
<td valign="middle" align="left">[<a href="python-xlib_9.html#Event-Handling" title="Next chapter"> >> </a>]</td>
<td valign="middle" align="left"> </td>
<td valign="middle" align="left"> </td>
<td valign="middle" align="left"> </td>
<td valign="middle" align="left"> </td>
<td valign="middle" align="left">[<a href="python-xlib.html#Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="python-xlib_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td valign="middle" align="left">[Index]</td>
<td valign="middle" align="left">[<a href="python-xlib_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr>
<a name="Error-Handling-1"></a>
<h1 class="chapter">4 Error Handling</h1>
<p>If an X object method generates an error, it will be handled in one of two
different ways depending on the kind of method. Errors are represented
by X error objects in the Xlib.
</p>
<p>If the method <em>does not</em> return data, the error will most likely be
detected after the method has returned. All methods which does not
return data has a parameter called <code>onerror</code>, which can be used to
provide a error handler for any error generated by this method.
</p>
<p>The error handler is called with to arguments: the error object and the
low-level request object. The error <em>must not</em> do call any X
object methods. If that is necessary, the error handler must store the
error away for later retrieval. The class <code>error.CatchError</code> is
provided for this purpose.
</p>
<p>If no error handler is given when calling a method which generates an
error, the error will be passed to the default error handler. If no
default error handler is specified, the error is simply printed on
<code>sys.stderr</code>.
</p>
<p>If the method <em>does</em> return data, the error will make it impossible
for it to return any valid data. An exception is raised with the error
object as the exception value. It is not passed to any error handlers.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top"><a href="python-xlib_7.html#X-Error-Classes">4.1 X Error Classes</a></td><td> </td><td align="left" valign="top"> X error class hierarchy.
</td></tr>
<tr><td align="left" valign="top"><a href="python-xlib_8.html#CatchError">4.2 CatchError</a></td><td> </td><td align="left" valign="top"> Error handler class.
</td></tr>
</table>
<hr>
<table class="header" cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="python-xlib_3.html#Connect-to-a-Display" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td valign="middle" align="left">[<a href="python-xlib_5.html#OpenVMS-Display-Names" title="Previous section in reading order"> < </a>]</td>
<td valign="middle" align="left">[<a href="python-xlib.html#Top" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="python-xlib_7.html#X-Error-Classes" title="Next section in reading order"> > </a>]</td>
<td valign="middle" align="left">[<a href="python-xlib_9.html#Event-Handling" title="Next chapter"> >> </a>]</td>
<td valign="middle" align="left"> </td>
<td valign="middle" align="left"> </td>
<td valign="middle" align="left"> </td>
<td valign="middle" align="left"> </td>
<td valign="middle" align="left">[<a href="python-xlib.html#Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="python-xlib_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td valign="middle" align="left">[Index]</td>
<td valign="middle" align="left">[<a href="python-xlib_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
This document was generated on <i>September 16, 2020</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 5.0</i></a>.
</font>
<br>
</p>
</body>
</html>