[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/python/python-docs-zh-tw/library/string/c-api/exceptions.po [Back]  [Original]

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2022, Python Software Foundation
# This file is distributed under the same license as the Python package.
#
# Translators:
# Ching-Lung Chuang, 2015
msgid ""
msgstr ""
"Project-Id-Version: Python 3.12\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-08-23 00:03+0000\n"
"PO-Revision-Date: 2018-05-23 14:05+0000\n"
"Last-Translator: Adrian Liaw \n"
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
"tw)\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#: ../../c-api/exceptions.rst:8
msgid "Exception Handling"
msgstr ""

#: ../../c-api/exceptions.rst:10
msgid ""
"The functions described in this chapter will let you handle and raise Python "
"exceptions.  It is important to understand some of the basics of Python "
"exception handling.  It works somewhat like the POSIX :c:data:`errno` "
"variable: there is a global indicator (per thread) of the last error that "
"occurred.  Most C API functions don't clear this on success, but will set it "
"to indicate the cause of the error on failure.  Most C API functions also "
"return an error indicator, usually ``NULL`` if they are supposed to return a "
"pointer, or ``-1`` if they return an integer (exception: the ``PyArg_*`` "
"functions return ``1`` for success and ``0`` for failure)."
msgstr ""

#: ../../c-api/exceptions.rst:20
msgid ""
"Concretely, the error indicator consists of three object pointers: the "
"exception's type, the exception's value, and the traceback object.  Any of "
"those pointers can be ``NULL`` if non-set (although some combinations are "
"forbidden, for example you can't have a non-``NULL`` traceback if the "
"exception type is ``NULL``)."
msgstr ""

#: ../../c-api/exceptions.rst:26
msgid ""
"When a function must fail because some function it called failed, it "
"generally doesn't set the error indicator; the function it called already "
"set it.  It is responsible for either handling the error and clearing the "
"exception or returning after cleaning up any resources it holds (such as "
"object references or memory allocations); it should *not* continue normally "
"if it is not prepared to handle the error.  If returning due to an error, it "
"is important to indicate to the caller that an error has been set.  If the "
"error is not handled or carefully propagated, additional calls into the "
"Python/C API may not behave as intended and may fail in mysterious ways."
msgstr ""

#: ../../c-api/exceptions.rst:37
msgid ""
"The error indicator is **not** the result of :func:`sys.exc_info()`. The "
"former corresponds to an exception that is not yet caught (and is therefore "
"still propagating), while the latter returns an exception after it is caught "
"(and has therefore stopped propagating)."
msgstr ""

#: ../../c-api/exceptions.rst:44
msgid "Printing and clearing"
msgstr ""

#: ../../c-api/exceptions.rst:49
msgid ""
"Clear the error indicator.  If the error indicator is not set, there is no "
"effect."
msgstr ""

#: ../../c-api/exceptions.rst:55
msgid ""
"Print a standard traceback to ``sys.stderr`` and clear the error indicator. "
"**Unless** the error is a ``SystemExit``, in that case no traceback is "
"printed and the Python process will exit with the error code specified by "
"the ``SystemExit`` instance."
msgstr ""

#: ../../c-api/exceptions.rst:60
msgid ""
"Call this function **only** when the error indicator is set.  Otherwise it "
"will cause a fatal error!"
msgstr ""

#: ../../c-api/exceptions.rst:63
msgid ""
"If *set_sys_last_vars* is nonzero, the variable :data:`sys.last_exc` is set "
"to the printed exception. For backwards compatibility, the deprecated "
"variables :data:`sys.last_type`, :data:`sys.last_value` and :data:`sys."
"last_traceback` are also set to the type, value and traceback of this "
"exception, respectively."
msgstr ""

#: ../../c-api/exceptions.rst:69
msgid "The setting of :data:`sys.last_exc` was added."
msgstr ""

#: ../../c-api/exceptions.rst:75
msgid "Alias for ``PyErr_PrintEx(1)``."
msgstr "``PyErr_PrintEx(1)`` "

#: ../../c-api/exceptions.rst:80
msgid ""
"Call :func:`sys.unraisablehook` using the current exception and *obj* "
"argument."
msgstr ""

#: ../../c-api/exceptions.rst:83
msgid ""
"This utility function prints a warning message to ``sys.stderr`` when an "
"exception has been set but it is impossible for the interpreter to actually "
"raise the exception.  It is used, for example, when an exception occurs in "
"an :meth:`~object.__del__` method."
msgstr ""

#: ../../c-api/exceptions.rst:88
msgid ""
"The function is called with a single argument *obj* that identifies the "
"context in which the unraisable exception occurred. If possible, the repr of "
"*obj* will be printed in the warning message."
msgstr ""

#: ../../c-api/exceptions.rst:92
msgid "An exception must be set when calling this function."
msgstr ""

#: ../../c-api/exceptions.rst:96
msgid ""
"Print the standard traceback display of ``exc`` to ``sys.stderr``, including "
"chained exceptions and notes."
msgstr ""

#: ../../c-api/exceptions.rst:102
msgid "Raising exceptions"
msgstr ""

#: ../../c-api/exceptions.rst:104
msgid ""
"These functions help you set the current thread's error indicator. For "
"convenience, some of these functions will always return a ``NULL`` pointer "
"for use in a ``return`` statement."
msgstr ""

#: ../../c-api/exceptions.rst:111
msgid ""
"This is the most common way to set the error indicator.  The first argument "
"specifies the exception type; it is normally one of the standard exceptions, "
"e.g. :c:data:`PyExc_RuntimeError`.  You need not create a new :term:`strong "
"reference` to it (e.g. with :c:func:`Py_INCREF`). The second argument is an "
"error message; it is decoded from ``'utf-8'``."
msgstr ""

#: ../../c-api/exceptions.rst:120
msgid ""
"This function is similar to :c:func:`PyErr_SetString` but lets you specify "
"an arbitrary Python object for the \"value\" of the exception."
msgstr ""

#: ../../c-api/exceptions.rst:126
msgid ""
"This function sets the error indicator and returns ``NULL``.  *exception* "
"should be a Python exception class.  The *format* and subsequent parameters "
"help format the error message; they have the same meaning and values as in :"
"c:func:`PyUnicode_FromFormat`. *format* is an ASCII-encoded string."
msgstr ""

#: ../../c-api/exceptions.rst:135
msgid ""
"Same as :c:func:`PyErr_Format`, but taking a :c:type:`va_list` argument "
"rather than a variable number of arguments."
msgstr ""

#: ../../c-api/exceptions.rst:143
msgid "This is a shorthand for ``PyErr_SetObject(type, Py_None)``."
msgstr ""

#: ../../c-api/exceptions.rst:148
msgid ""
"This is a shorthand for ``PyErr_SetString(PyExc_TypeError, message)``, where "
"*message* indicates that a built-in operation was invoked with an illegal "
"argument.  It is mostly for internal use."
msgstr ""

#: ../../c-api/exceptions.rst:155
msgid ""
"This is a shorthand for ``PyErr_SetNone(PyExc_MemoryError)``; it returns "
"``NULL`` so an object allocation function can write ``return "
"PyErr_NoMemory();`` when it runs out of memory."
msgstr ""

#: ../../c-api/exceptions.rst:164
msgid ""
"This is a convenience function to raise an exception when a C library "
"function has returned an error and set the C variable :c:data:`errno`.  It "
"constructs a tuple object whose first item is the integer :c:data:`errno` "
"value and whose second item is the corresponding error message (gotten from :"
"c:func:`!strerror`), and then calls ``PyErr_SetObject(type, object)``.  On "
"Unix, when the :c:data:`errno` value is :c:macro:`!EINTR`, indicating an "
"interrupted system call, this calls :c:func:`PyErr_CheckSignals`, and if "
"that set the error indicator, leaves it set to that.  The function always "
"returns ``NULL``, so a wrapper function around a system call can write "
"``return PyErr_SetFromErrno(type);`` when the system call returns an error."
msgstr ""

#: ../../c-api/exceptions.rst:178
msgid ""
"Similar to :c:func:`PyErr_SetFromErrno`, with the additional behavior that "
"if *filenameObject* is not ``NULL``, it is passed to the constructor of "
"*type* as a third parameter.  In the case of :exc:`OSError` exception, this "
"is used to define the :attr:`!filename` attribute of the exception instance."
msgstr ""

#: ../../c-api/exceptions.rst:187
msgid ""
"Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but takes a "
"second filename object, for raising errors when a function that takes two "
"filenames fails."
msgstr ""

#: ../../c-api/exceptions.rst:196
msgid ""
"Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but the filename "
"is given as a C string.  *filename* is decoded from the :term:`filesystem "
"encoding and error handler`."
msgstr ""

#: ../../c-api/exceptions.rst:203
msgid ""
"This is a convenience function to raise :exc:`WindowsError`. If called with "
"*ierr* of ``0``, the error code returned by a call to :c:func:`!"
"GetLastError` is used instead.  It calls the Win32 function :c:func:`!"
"FormatMessage` to retrieve the Windows description of error code given by "
"*ierr* or :c:func:`!GetLastError`, then it constructs a tuple object whose "
"first item is the *ierr* value and whose second item is the corresponding "
"error message (gotten from :c:func:`!FormatMessage`), and then calls "
"``PyErr_SetObject(PyExc_WindowsError, object)``. This function always "
"returns ``NULL``."
msgstr ""

#: ../../c-api/exceptions.rst:212 ../../c-api/exceptions.rst:220
#: ../../c-api/exceptions.rst:231 ../../c-api/exceptions.rst:241
#: ../../c-api/exceptions.rst:249 ../../c-api/exceptions.rst:259
msgid ":ref:`Availability `: Windows."
msgstr ":ref:` `Windows"

#: ../../c-api/exceptions.rst:217
msgid ""
"Similar to :c:func:`PyErr_SetFromWindowsErr`, with an additional parameter "
"specifying the exception type to be raised."
msgstr ""

#: ../../c-api/exceptions.rst:225
msgid ""
"Similar to :c:func:`PyErr_SetFromWindowsErr`, with the additional behavior "
"that if *filename* is not ``NULL``, it is decoded from the filesystem "
"encoding (:func:`os.fsdecode`) and passed to the constructor of :exc:"
"`OSError` as a third parameter to be used to define the :attr:`!filename` "
"attribute of the exception instance."
msgstr ""

#: ../../c-api/exceptions.rst:236
msgid ""
"Similar to :c:func:`PyErr_SetExcFromWindowsErr`, with the additional "
"behavior that if *filename* is not ``NULL``, it is passed to the constructor "
"of :exc:`OSError` as a third parameter to be used to define the :attr:`!"
"filename` attribute of the exception instance."
msgstr ""

#: ../../c-api/exceptions.rst:246
msgid ""
"Similar to :c:func:`PyErr_SetExcFromWindowsErrWithFilenameObject`, but "
"accepts a second filename object."
msgstr ""

#: ../../c-api/exceptions.rst:256
msgid ""
"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilename`, with an additional "
"parameter specifying the exception type to be raised."
msgstr ""

#: ../../c-api/exceptions.rst:264
msgid ""
"This is a convenience function to raise :exc:`ImportError`. *msg* will be "
"set as the exception's message string. *name* and *path*, both of which can "
"be ``NULL``, will be set as the :exc:`ImportError`'s respective ``name`` and "
"``path`` attributes."
msgstr ""

#: ../../c-api/exceptions.rst:274
msgid ""
"Much like :c:func:`PyErr_SetImportError` but this function allows for "
"specifying a subclass of :exc:`ImportError` to raise."
msgstr ""

#: ../../c-api/exceptions.rst:282
msgid ""
"Set file, line, and offset information for the current exception.  If the "
"current exception is not a :exc:`SyntaxError`, then it sets additional "
"attributes, which make the exception printing subsystem think the exception "
"is a :exc:`SyntaxError`."
msgstr ""

#: ../../c-api/exceptions.rst:292
msgid ""
"Like :c:func:`PyErr_SyntaxLocationObject`, but *filename* is a byte string "
"decoded from the :term:`filesystem encoding and error handler`."
msgstr ""

#: ../../c-api/exceptions.rst:300
msgid ""
"Like :c:func:`PyErr_SyntaxLocationEx`, but the *col_offset* parameter is "
"omitted."
msgstr ""

#: ../../c-api/exceptions.rst:306
msgid ""
"This is a shorthand for ``PyErr_SetString(PyExc_SystemError, message)``, "
"where *message* indicates that an internal operation (e.g. a Python/C API "
"function) was invoked with an illegal argument.  It is mostly for internal "
"use."
msgstr ""

#: ../../c-api/exceptions.rst:313
msgid "Issuing warnings"
msgstr ""

#: ../../c-api/exceptions.rst:315
msgid ""
"Use these functions to issue warnings from C code.  They mirror similar "
"functions exported by the Python :mod:`warnings` module.  They normally "
"print a warning message to *sys.stderr*; however, it is also possible that "
"the user has specified that warnings are to be turned into errors, and in "
"that case they will raise an exception.  It is also possible that the "
"functions raise an exception because of a problem with the warning "
"machinery. The return value is ``0`` if no exception is raised, or ``-1`` if "
"an exception is raised.  (It is not possible to determine whether a warning "
"message is actually printed, nor what the reason is for the exception; this "
"is intentional.)  If an exception is raised, the caller should do its normal "
"exception handling (for example, :c:func:`Py_DECREF` owned references and "
"return an error value)."
msgstr ""

#: ../../c-api/exceptions.rst:330
msgid ""
"Issue a warning message.  The *category* argument is a warning category (see "
"below) or ``NULL``; the *message* argument is a UTF-8 encoded string.  "
"*stack_level* is a positive number giving a number of stack frames; the "
"warning will be issued from the  currently executing line of code in that "
"stack frame.  A *stack_level* of 1 is the function calling :c:func:"
"`PyErr_WarnEx`, 2 is  the function above that, and so forth."
msgstr ""

#: ../../c-api/exceptions.rst:337
msgid ""
"Warning categories must be subclasses of :c:data:`PyExc_Warning`; :c:data:"
"`PyExc_Warning` is a subclass of :c:data:`PyExc_Exception`; the default "
"warning category is :c:data:`PyExc_RuntimeWarning`. The standard Python "
"warning categories are available as global variables whose names are "
"enumerated at :ref:`standardwarningcategories`."
msgstr ""

#: ../../c-api/exceptions.rst:343
msgid ""
"For information about warning control, see the documentation for the :mod:"
"`warnings` module and the :option:`-W` option in the command line "
"documentation.  There is no C API for warning control."
msgstr ""

#: ../../c-api/exceptions.rst:350
msgid ""
"Issue a warning message with explicit control over all warning attributes.  "
"This is a straightforward wrapper around the Python function :func:`warnings."
"warn_explicit`; see there for more information.  The *module* and *registry* "
"arguments may be set to ``NULL`` to get the default effect described there."
msgstr ""

#: ../../c-api/exceptions.rst:361
msgid ""
"Similar to :c:func:`PyErr_WarnExplicitObject` except that *message* and "
"*module* are UTF-8 encoded strings, and *filename* is decoded from the :term:"
"`filesystem encoding and error handler`."
msgstr ""

#: ../../c-api/exceptions.rst:368
msgid ""
"Function similar to :c:func:`PyErr_WarnEx`, but use :c:func:"
"`PyUnicode_FromFormat` to format the warning message.  *format* is an ASCII-"
"encoded string."
msgstr ""

#: ../../c-api/exceptions.rst:377
msgid ""
"Function similar to :c:func:`PyErr_WarnFormat`, but *category* is :exc:"
"`ResourceWarning` and it passes *source* to :func:`warnings.WarningMessage`."
msgstr ""

#: ../../c-api/exceptions.rst:384
msgid "Querying the error indicator"
msgstr ""

#: ../../c-api/exceptions.rst:388
msgid ""
"Test whether the error indicator is set.  If set, return the exception "
"*type* (the first argument to the last call to one of the ``PyErr_Set*`` "
"functions or to :c:func:`PyErr_Restore`).  If not set, return ``NULL``.  You "
"do not own a reference to the return value, so you do not need to :c:func:"
"`Py_DECREF` it."
msgstr ""

#: ../../c-api/exceptions.rst:394
msgid "The caller must hold the GIL."
msgstr ""

#: ../../c-api/exceptions.rst:398
msgid ""
"Do not compare the return value to a specific exception; use :c:func:"
"`PyErr_ExceptionMatches` instead, shown below.  (The comparison could easily "
"fail since the exception may be an instance instead of a class, in the case "
"of a class exception, or it may be a subclass of the expected exception.)"
msgstr ""

#: ../../c-api/exceptions.rst:406
msgid ""
"Equivalent to ``PyErr_GivenExceptionMatches(PyErr_Occurred(), exc)``.  This "
"should only be called when an exception is actually set; a memory access "
"violation will occur if no exception has been raised."
msgstr ""

#: ../../c-api/exceptions.rst:413
msgid ""
"Return true if the *given* exception matches the exception type in *exc*.  "
"If *exc* is a class object, this also returns true when *given* is an "
"instance of a subclass.  If *exc* is a tuple, all exception types in the "
"tuple (and recursively in subtuples) are searched for a match."
msgstr ""

#: ../../c-api/exceptions.rst:421
msgid ""
"Return the exception currently being raised, clearing the error indicator at "
"the same time."
msgstr ""

#: ../../c-api/exceptions.rst:424
msgid ""
"This function is used by code that needs to catch exceptions, or code that "
"needs to save and restore the error indicator temporarily."
msgstr ""

#: ../../c-api/exceptions.rst:427 ../../c-api/exceptions.rst:471
msgid "For example::"
msgstr ""

#: ../../c-api/exceptions.rst:437
msgid ""
":c:func:`PyErr_GetHandledException`, to save the exception currently being "
"handled."
msgstr ""

#: ../../c-api/exceptions.rst:445
msgid ""
"Set *exc* as the exception currently being raised, clearing the existing "
"exception if one is set."
msgstr ""

#: ../../c-api/exceptions.rst:450
msgid "This call steals a reference to *exc*, which must be a valid exception."
msgstr ""

#: ../../c-api/exceptions.rst:459
msgid "Use :c:func:`PyErr_GetRaisedException` instead."
msgstr ""

#: ../../c-api/exceptions.rst:461
msgid ""
"Retrieve the error indicator into three variables whose addresses are "
"passed. If the error indicator is not set, set all three variables to "
"``NULL``.  If it is set, it will be cleared and you own a reference to each "
"object retrieved.  The value and traceback object may be ``NULL`` even when "
"the type object is not."
msgstr ""

#: ../../c-api/exceptions.rst:468
msgid ""
"This function is normally only used by legacy code that needs to catch "
"exceptions or save and restore the error indicator temporarily."
msgstr ""

#: ../../c-api/exceptions.rst:487
msgid "Use :c:func:`PyErr_SetRaisedException` instead."
msgstr ""

#: ../../c-api/exceptions.rst:489
msgid ""
"Set the error indicator from the three objects, *type*, *value*, and "
"*traceback*, clearing the existing exception if one is set. If the objects "
"are ``NULL``, the error indicator is cleared.  Do not pass a ``NULL`` type "
"and non-``NULL`` value or traceback.  The exception type should be a class.  "
"Do not pass an invalid exception type or value. (Violating these rules will "
"cause subtle problems later.)  This call takes away a reference to each "
"object: you must own a reference to each object before the call and after "
"the call you no longer own these references.  (If you don't understand this, "
"don't use this function.  I warned you.)"
msgstr ""

#: ../../c-api/exceptions.rst:503
msgid ""
"This function is normally only used by legacy code that needs to save and "
"restore the error indicator temporarily. Use :c:func:`PyErr_Fetch` to save "
"the current error indicator."
msgstr ""

#: ../../c-api/exceptions.rst:512
msgid ""
"Use :c:func:`PyErr_GetRaisedException` instead, to avoid any possible de-"
"normalization."
msgstr ""

#: ../../c-api/exceptions.rst:515
msgid ""
"Under certain circumstances, the values returned by :c:func:`PyErr_Fetch` "
"below can be \"unnormalized\", meaning that ``*exc`` is a class object but "
"``*val`` is not an instance of the  same class.  This function can be used "
"to instantiate the class in that case.  If the values are already "
"normalized, nothing happens. The delayed normalization is implemented to "
"improve performance."
msgstr ""

#: ../../c-api/exceptions.rst:523
msgid ""
"This function *does not* implicitly set the ``__traceback__`` attribute on "
"the exception value. If setting the traceback appropriately is desired, the "
"following additional snippet is needed::"
msgstr ""

#: ../../c-api/exceptions.rst:534
msgid ""
"Retrieve the active exception instance, as would be returned by :func:`sys."
"exception`. This refers to an exception that was *already caught*, not to an "
"exception that was freshly raised. Returns a new reference to the exception "
"or ``NULL``. Does not modify the interpreter's exception state."
msgstr ""

#: ../../c-api/exceptions.rst:541
msgid ""
"This function is not normally used by code that wants to handle exceptions. "
"Rather, it can be used when code needs to save and restore the exception "
"state temporarily.  Use :c:func:`PyErr_SetHandledException` to restore or "
"clear the exception state."
msgstr ""

#: ../../c-api/exceptions.rst:550
msgid ""
"Set the active exception, as known from ``sys.exception()``.  This refers to "
"an exception that was *already caught*, not to an exception that was freshly "
"raised. To clear the exception state, pass ``NULL``."
msgstr ""

#: ../../c-api/exceptions.rst:557
msgid ""
"This function is not normally used by code that wants to handle exceptions. "
"Rather, it can be used when code needs to save and restore the exception "
"state temporarily.  Use :c:func:`PyErr_GetHandledException` to get the "
"exception state."
msgstr ""

#: ../../c-api/exceptions.rst:566
msgid ""
"Retrieve the old-style representation of the exception info, as known from :"
"func:`sys.exc_info`.  This refers to an exception that was *already caught*, "
"not to an exception that was freshly raised.  Returns new references for the "
"three objects, any of which may be ``NULL``.  Does not modify the exception "
"info state.  This function is kept for backwards compatibility. Prefer "
"using :c:func:`PyErr_GetHandledException`."
msgstr ""

#: ../../c-api/exceptions.rst:575
msgid ""
"This function is not normally used by code that wants to handle exceptions. "
"Rather, it can be used when code needs to save and restore the exception "
"state temporarily.  Use :c:func:`PyErr_SetExcInfo` to restore or clear the "
"exception state."
msgstr ""

#: ../../c-api/exceptions.rst:585
msgid ""
"Set the exception info, as known from ``sys.exc_info()``.  This refers to an "
"exception that was *already caught*, not to an exception that was freshly "
"raised.  This function steals the references of the arguments. To clear the "
"exception state, pass ``NULL`` for all three arguments. This function is "
"kept for backwards compatibility. Prefer using :c:func:"
"`PyErr_SetHandledException`."
msgstr ""

#: ../../c-api/exceptions.rst:594
msgid ""
"This function is not normally used by code that wants to handle exceptions. "
"Rather, it can be used when code needs to save and restore the exception "
"state temporarily.  Use :c:func:`PyErr_GetExcInfo` to read the exception "
"state."
msgstr ""

#: ../../c-api/exceptions.rst:601
msgid ""
"The ``type`` and ``traceback`` arguments are no longer used and can be NULL. "
"The interpreter now derives them from the exception instance (the ``value`` "
"argument). The function still steals references of all three arguments."
msgstr ""

#: ../../c-api/exceptions.rst:609
msgid "Signal Handling"
msgstr ""

#: ../../c-api/exceptions.rst:619
msgid "This function interacts with Python's signal handling."
msgstr ""

#: ../../c-api/exceptions.rst:621
msgid ""
"If the function is called from the main thread and under the main Python "
"interpreter, it checks whether a signal has been sent to the processes and "
"if so, invokes the corresponding signal handler.  If the :mod:`signal` "
"module is supported, this can invoke a signal handler written in Python."
msgstr ""

#: ../../c-api/exceptions.rst:626
msgid ""
"The function attempts to handle all pending signals, and then returns ``0``. "
"However, if a Python signal handler raises an exception, the error indicator "
"is set and the function returns ``-1`` immediately (such that other pending "
"signals may not have been handled yet: they will be on the next :c:func:"
"`PyErr_CheckSignals()` invocation)."
msgstr ""

#: ../../c-api/exceptions.rst:632
msgid ""
"If the function is called from a non-main thread, or under a non-main Python "
"interpreter, it does nothing and returns ``0``."
msgstr ""

#: ../../c-api/exceptions.rst:635
msgid ""
"This function can be called by long-running C code that wants to be "
"interruptible by user requests (such as by pressing Ctrl-C)."
msgstr ""

#: ../../c-api/exceptions.rst:639
msgid ""
"The default Python signal handler for :c:macro:`!SIGINT` raises the :exc:"
"`KeyboardInterrupt` exception."
msgstr ""

#: ../../c-api/exceptions.rst:650
msgid ""
"Simulate the effect of a :c:macro:`!SIGINT` signal arriving. This is "
"equivalent to ``PyErr_SetInterruptEx(SIGINT)``."
msgstr ""

#: ../../c-api/exceptions.rst:654 ../../c-api/exceptions.rst:681
msgid ""
"This function is async-signal-safe.  It can be called without the :term:"
"`GIL` and from a C signal handler."
msgstr ""

#: ../../c-api/exceptions.rst:664
msgid ""
"Simulate the effect of a signal arriving. The next time :c:func:"
"`PyErr_CheckSignals` is called,  the Python signal handler for the given "
"signal number will be called."
msgstr ""

#: ../../c-api/exceptions.rst:668
msgid ""
"This function can be called by C code that sets up its own signal handling "
"and wants Python signal handlers to be invoked as expected when an "
"interruption is requested (for example when the user presses Ctrl-C to "
"interrupt an operation)."
msgstr ""

#: ../../c-api/exceptions.rst:673
msgid ""
"If the given signal isn't handled by Python (it was set to :py:const:`signal."
"SIG_DFL` or :py:const:`signal.SIG_IGN`), it will be ignored."
msgstr ""

#: ../../c-api/exceptions.rst:676
msgid ""
"If *signum* is outside of the allowed range of signal numbers, ``-1`` is "
"returned.  Otherwise, ``0`` is returned.  The error indicator is never "
"changed by this function."
msgstr ""

#: ../../c-api/exceptions.rst:689
msgid ""
"This utility function specifies a file descriptor to which the signal number "
"is written as a single byte whenever a signal is received. *fd* must be non-"
"blocking. It returns the previous such file descriptor."
msgstr ""

#: ../../c-api/exceptions.rst:693
msgid ""
"The value ``-1`` disables the feature; this is the initial state. This is "
"equivalent to :func:`signal.set_wakeup_fd` in Python, but without any error "
"checking.  *fd* should be a valid file descriptor.  The function should only "
"be called from the main thread."
msgstr ""

#: ../../c-api/exceptions.rst:698
msgid "On Windows, the function now also supports socket handles."
msgstr ""

#: ../../c-api/exceptions.rst:703
msgid "Exception Classes"
msgstr ""

#: ../../c-api/exceptions.rst:707
msgid ""
"This utility function creates and returns a new exception class. The *name* "
"argument must be the name of the new exception, a C string of the form "
"``module.classname``.  The *base* and *dict* arguments are normally "
"``NULL``. This creates a class object derived from :exc:`Exception` "
"(accessible in C as :c:data:`PyExc_Exception`)."
msgstr ""

#: ../../c-api/exceptions.rst:713
msgid ""
"The :attr:`__module__` attribute of the new class is set to the first part "
"(up to the last dot) of the *name* argument, and the class name is set to "
"the last part (after the last dot).  The *base* argument can be used to "
"specify alternate base classes; it can either be only one class or a tuple "
"of classes. The *dict* argument can be used to specify a dictionary of class "
"variables and methods."
msgstr ""

#: ../../c-api/exceptions.rst:722
msgid ""
"Same as :c:func:`PyErr_NewException`, except that the new exception class "
"can easily be given a docstring: If *doc* is non-``NULL``, it will be used "
"as the docstring for the exception class."
msgstr ""

#: ../../c-api/exceptions.rst:730
msgid "Exception Objects"
msgstr ""

#: ../../c-api/exceptions.rst:734
msgid ""
"Return the traceback associated with the exception as a new reference, as "
"accessible from Python through :attr:`__traceback__`.  If there is no "
"traceback associated, this returns ``NULL``."
msgstr ""

#: ../../c-api/exceptions.rst:741
msgid ""
"Set the traceback associated with the exception to *tb*.  Use ``Py_None`` to "
"clear it."
msgstr ""

#: ../../c-api/exceptions.rst:747
msgid ""
"Return the context (another exception instance during whose handling *ex* "
"was raised) associated with the exception as a new reference, as accessible "
"from Python through :attr:`__context__`.  If there is no context associated, "
"this returns ``NULL``."
msgstr ""

#: ../../c-api/exceptions.rst:755
msgid ""
"Set the context associated with the exception to *ctx*.  Use ``NULL`` to "
"clear it.  There is no type check to make sure that *ctx* is an exception "
"instance. This steals a reference to *ctx*."
msgstr ""

#: ../../c-api/exceptions.rst:762
msgid ""
"Return the cause (either an exception instance, or ``None``, set by "
"``raise ... from ...``) associated with the exception as a new reference, as "
"accessible from Python through :attr:`__cause__`."
msgstr ""

#: ../../c-api/exceptions.rst:769
msgid ""
"Set the cause associated with the exception to *cause*.  Use ``NULL`` to "
"clear it.  There is no type check to make sure that *cause* is either an "
"exception instance or ``None``.  This steals a reference to *cause*."
msgstr ""

#: ../../c-api/exceptions.rst:773
msgid ""
":attr:`__suppress_context__` is implicitly set to ``True`` by this function."
msgstr ""

#: ../../c-api/exceptions.rst:778
msgid "Return :attr:`~BaseException.args` of exception *ex*."
msgstr ""

#: ../../c-api/exceptions.rst:783
msgid "Set :attr:`~BaseException.args` of exception *ex* to *args*."
msgstr ""

#: ../../c-api/exceptions.rst:787
msgid ""
"Implement part of the interpreter's implementation of :keyword:`!except*`. "
"*orig* is the original exception that was caught, and *excs* is the list of "
"the exceptions that need to be raised. This list contains the the unhandled "
"part of *orig*, if any, as well as the exceptions that were raised from the :"
"keyword:`!except*` clauses (so they have a different traceback from *orig*) "
"and those that were reraised (and have the same traceback as *orig*). Return "
"the :exc:`ExceptionGroup` that needs to be reraised in the end, or ``None`` "
"if there is nothing to reraise."
msgstr ""

#: ../../c-api/exceptions.rst:801
msgid "Unicode Exception Objects"
msgstr ""

#: ../../c-api/exceptions.rst:803
msgid ""
"The following functions are used to create and modify Unicode exceptions "
"from C."
msgstr ""

#: ../../c-api/exceptions.rst:807
msgid ""
"Create a :class:`UnicodeDecodeError` object with the attributes *encoding*, "
"*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are "
"UTF-8 encoded strings."
msgstr ""

#: ../../c-api/exceptions.rst:814
msgid "Return the *encoding* attribute of the given exception object."
msgstr ""

#: ../../c-api/exceptions.rst:820
msgid "Return the *object* attribute of the given exception object."
msgstr ""

#: ../../c-api/exceptions.rst:826
msgid ""
"Get the *start* attribute of the given exception object and place it into "
"*\\*start*.  *start* must not be ``NULL``.  Return ``0`` on success, ``-1`` "
"on failure."
msgstr ""

#: ../../c-api/exceptions.rst:834
msgid ""
"Set the *start* attribute of the given exception object to *start*.  Return "
"``0`` on success, ``-1`` on failure."
msgstr ""

#: ../../c-api/exceptions.rst:841
msgid ""
"Get the *end* attribute of the given exception object and place it into "
"*\\*end*.  *end* must not be ``NULL``.  Return ``0`` on success, ``-1`` on "
"failure."
msgstr ""

#: ../../c-api/exceptions.rst:849
msgid ""
"Set the *end* attribute of the given exception object to *end*.  Return "
"``0`` on success, ``-1`` on failure."
msgstr ""

#: ../../c-api/exceptions.rst:856
msgid "Return the *reason* attribute of the given exception object."
msgstr ""

#: ../../c-api/exceptions.rst:862
msgid ""
"Set the *reason* attribute of the given exception object to *reason*.  "
"Return ``0`` on success, ``-1`` on failure."
msgstr ""

#: ../../c-api/exceptions.rst:869
msgid "Recursion Control"
msgstr ""

#: ../../c-api/exceptions.rst:871
msgid ""
"These two functions provide a way to perform safe recursive calls at the C "
"level, both in the core and in extension modules.  They are needed if the "
"recursive code does not necessarily invoke Python code (which tracks its "
"recursion depth automatically). They are also not needed for *tp_call* "
"implementations because the :ref:`call protocol ` takes care of "
"recursion handling."
msgstr ""

#: ../../c-api/exceptions.rst:880
msgid "Marks a point where a recursive C-level call is about to be performed."
msgstr ""

#: ../../c-api/exceptions.rst:882
msgid ""
"If :c:macro:`USE_STACKCHECK` is defined, this function checks if the OS "
"stack overflowed using :c:func:`PyOS_CheckStack`.  In this is the case, it "
"sets a :exc:`MemoryError` and returns a nonzero value."
msgstr ""

#: ../../c-api/exceptions.rst:886
msgid ""
"The function then checks if the recursion limit is reached.  If this is the "
"case, a :exc:`RecursionError` is set and a nonzero value is returned. "
"Otherwise, zero is returned."
msgstr ""

#: ../../c-api/exceptions.rst:890
msgid ""
"*where* should be a UTF-8 encoded string such as ``\" in instance check\"`` "
"to be concatenated to the :exc:`RecursionError` message caused by the "
"recursion depth limit."
msgstr ""

#: ../../c-api/exceptions.rst:894 ../../c-api/exceptions.rst:902
msgid ""
"This function is now also available in the :ref:`limited API `."
msgstr ""

#: ../../c-api/exceptions.rst:899
msgid ""
"Ends a :c:func:`Py_EnterRecursiveCall`.  Must be called once for each "
"*successful* invocation of :c:func:`Py_EnterRecursiveCall`."
msgstr ""

#: ../../c-api/exceptions.rst:905
msgid ""
"Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types "
"requires special recursion handling.  In addition to protecting the stack, :"
"c:member:`~PyTypeObject.tp_repr` also needs to track objects to prevent "
"cycles.  The following two functions facilitate this functionality.  "
"Effectively, these are the C equivalent to :func:`reprlib.recursive_repr`."
msgstr ""

#: ../../c-api/exceptions.rst:913
msgid ""
"Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` "
"implementation to detect cycles."
msgstr ""

#: ../../c-api/exceptions.rst:916
msgid ""
"If the object has already been processed, the function returns a positive "
"integer.  In that case the :c:member:`~PyTypeObject.tp_repr` implementation "
"should return a string object indicating a cycle.  As examples, :class:"
"`dict` objects return ``{...}`` and :class:`list` objects return ``[...]``."
msgstr ""

#: ../../c-api/exceptions.rst:922
msgid ""
"The function will return a negative integer if the recursion limit is "
"reached.  In that case the :c:member:`~PyTypeObject.tp_repr` implementation "
"should typically return ``NULL``."
msgstr ""

#: ../../c-api/exceptions.rst:926
msgid ""
"Otherwise, the function returns zero and the :c:member:`~PyTypeObject."
"tp_repr` implementation can continue normally."
msgstr ""

#: ../../c-api/exceptions.rst:931
msgid ""
"Ends a :c:func:`Py_ReprEnter`.  Must be called once for each invocation of :"
"c:func:`Py_ReprEnter` that returns zero."
msgstr ""

#: ../../c-api/exceptions.rst:938
msgid "Standard Exceptions"
msgstr ""

#: ../../c-api/exceptions.rst:940
msgid ""
"All standard Python exceptions are available as global variables whose names "
"are ``PyExc_`` followed by the Python exception name.  These have the type :"
"c:expr:`PyObject*`; they are all class objects.  For completeness, here are "
"all the variables:"
msgstr ""

#: ../../c-api/exceptions.rst:1001 ../../c-api/exceptions.rst:1134
#: ../../c-api/exceptions.rst:1179
msgid "C Name"
msgstr ""

#: ../../c-api/exceptions.rst:1001 ../../c-api/exceptions.rst:1179
msgid "Python Name"
msgstr ""

#: ../../c-api/exceptions.rst:1001 ../../c-api/exceptions.rst:1134
#: ../../c-api/exceptions.rst:1179
msgid "Notes"
msgstr ""

#: ../../c-api/exceptions.rst:1003
msgid ":c:data:`PyExc_BaseException`"
msgstr ":c:data:`PyExc_BaseException`"

#: ../../c-api/exceptions.rst:1003
msgid ":exc:`BaseException`"
msgstr ":exc:`BaseException`"

#: ../../c-api/exceptions.rst:1003 ../../c-api/exceptions.rst:1005
#: ../../c-api/exceptions.rst:1007 ../../c-api/exceptions.rst:1053
#: ../../c-api/exceptions.rst:1065
msgid "[1]_"
msgstr "[1]_"

#: ../../c-api/exceptions.rst:1005
msgid ":c:data:`PyExc_Exception`"
msgstr ":c:data:`PyExc_Exception`"

#: ../../c-api/exceptions.rst:1005
msgid ":exc:`Exception`"
msgstr ":exc:`Exception`"

#: ../../c-api/exceptions.rst:1007
msgid ":c:data:`PyExc_ArithmeticError`"
msgstr ":c:data:`PyExc_ArithmeticError`"

#: ../../c-api/exceptions.rst:1007
msgid ":exc:`ArithmeticError`"
msgstr ":exc:`ArithmeticError`"

#: ../../c-api/exceptions.rst:1009
msgid ":c:data:`PyExc_AssertionError`"
msgstr ":c:data:`PyExc_AssertionError`"

#: ../../c-api/exceptions.rst:1009
msgid ":exc:`AssertionError`"
msgstr ":exc:`AssertionError`"

#: ../../c-api/exceptions.rst:1011
msgid ":c:data:`PyExc_AttributeError`"
msgstr ":c:data:`PyExc_AttributeError`"

#: ../../c-api/exceptions.rst:1011
msgid ":exc:`AttributeError`"
msgstr ":exc:`AttributeError`"

#: ../../c-api/exceptions.rst:1013
msgid ":c:data:`PyExc_BlockingIOError`"
msgstr ":c:data:`PyExc_BlockingIOError`"

#: ../../c-api/exceptions.rst:1013
msgid ":exc:`BlockingIOError`"
msgstr ":exc:`BlockingIOError`"

#: ../../c-api/exceptions.rst:1015
msgid ":c:data:`PyExc_BrokenPipeError`"
msgstr ":c:data:`PyExc_BrokenPipeError`"

#: ../../c-api/exceptions.rst:1015
msgid ":exc:`BrokenPipeError`"
msgstr ":exc:`BrokenPipeError`"

#: ../../c-api/exceptions.rst:1017
msgid ":c:data:`PyExc_BufferError`"
msgstr ":c:data:`PyExc_BufferError`"

#: ../../c-api/exceptions.rst:1017
msgid ":exc:`BufferError`"
msgstr ":exc:`BufferError`"

#: ../../c-api/exceptions.rst:1019
msgid ":c:data:`PyExc_ChildProcessError`"
msgstr ":c:data:`PyExc_ChildProcessError`"

#: ../../c-api/exceptions.rst:1019
msgid ":exc:`ChildProcessError`"
msgstr ":exc:`ChildProcessError`"

#: ../../c-api/exceptions.rst:1021
msgid ":c:data:`PyExc_ConnectionAbortedError`"
msgstr ":c:data:`PyExc_ConnectionAbortedError`"

#: ../../c-api/exceptions.rst:1021
msgid ":exc:`ConnectionAbortedError`"
msgstr ":exc:`ConnectionAbortedError`"

#: ../../c-api/exceptions.rst:1023
msgid ":c:data:`PyExc_ConnectionError`"
msgstr ":c:data:`PyExc_ConnectionError`"

#: ../../c-api/exceptions.rst:1023
msgid ":exc:`ConnectionError`"
msgstr ":exc:`ConnectionError`"

#: ../../c-api/exceptions.rst:1025
msgid ":c:data:`PyExc_ConnectionRefusedError`"
msgstr ":c:data:`PyExc_ConnectionRefusedError`"

#: ../../c-api/exceptions.rst:1025
msgid ":exc:`ConnectionRefusedError`"
msgstr ":exc:`ConnectionRefusedError`"

#: ../../c-api/exceptions.rst:1027
msgid ":c:data:`PyExc_ConnectionResetError`"
msgstr ":c:data:`PyExc_ConnectionResetError`"

#: ../../c-api/exceptions.rst:1027
msgid ":exc:`ConnectionResetError`"
msgstr ":exc:`ConnectionResetError`"

#: ../../c-api/exceptions.rst:1029
msgid ":c:data:`PyExc_EOFError`"
msgstr ":c:data:`PyExc_EOFError`"

#: ../../c-api/exceptions.rst:1029
msgid ":exc:`EOFError`"
msgstr ":exc:`EOFError`"

#: ../../c-api/exceptions.rst:1031
msgid ":c:data:`PyExc_FileExistsError`"
msgstr ":c:data:`PyExc_FileExistsError`"

#: ../../c-api/exceptions.rst:1031
msgid ":exc:`FileExistsError`"
msgstr ":exc:`FileExistsError`"

#: ../../c-api/exceptions.rst:1033
msgid ":c:data:`PyExc_FileNotFoundError`"
msgstr ":c:data:`PyExc_FileNotFoundError`"

#: ../../c-api/exceptions.rst:1033
msgid ":exc:`FileNotFoundError`"
msgstr ":exc:`FileNotFoundError`"

#: ../../c-api/exceptions.rst:1035
msgid ":c:data:`PyExc_FloatingPointError`"
msgstr ":c:data:`PyExc_FloatingPointError`"

#: ../../c-api/exceptions.rst:1035
msgid ":exc:`FloatingPointError`"
msgstr ":exc:`FloatingPointError`"

#: ../../c-api/exceptions.rst:1037
msgid ":c:data:`PyExc_GeneratorExit`"
msgstr ":c:data:`PyExc_GeneratorExit`"

#: ../../c-api/exceptions.rst:1037
msgid ":exc:`GeneratorExit`"
msgstr ":exc:`GeneratorExit`"

#: ../../c-api/exceptions.rst:1039
msgid ":c:data:`PyExc_ImportError`"
msgstr ":c:data:`PyExc_ImportError`"

#: ../../c-api/exceptions.rst:1039
msgid ":exc:`ImportError`"
msgstr ":exc:`ImportError`"

#: ../../c-api/exceptions.rst:1041
msgid ":c:data:`PyExc_IndentationError`"
msgstr ":c:data:`PyExc_IndentationError`"

#: ../../c-api/exceptions.rst:1041
msgid ":exc:`IndentationError`"
msgstr ":exc:`IndentationError`"

#: ../../c-api/exceptions.rst:1043
msgid ":c:data:`PyExc_IndexError`"
msgstr ":c:data:`PyExc_IndexError`"

#: ../../c-api/exceptions.rst:1043
msgid ":exc:`IndexError`"
msgstr ":exc:`IndexError`"

#: ../../c-api/exceptions.rst:1045
msgid ":c:data:`PyExc_InterruptedError`"
msgstr ":c:data:`PyExc_InterruptedError`"

#: ../../c-api/exceptions.rst:1045
msgid ":exc:`InterruptedError`"
msgstr ":exc:`InterruptedError`"

#: ../../c-api/exceptions.rst:1047
msgid ":c:data:`PyExc_IsADirectoryError`"
msgstr ":c:data:`PyExc_IsADirectoryError`"

#: ../../c-api/exceptions.rst:1047
msgid ":exc:`IsADirectoryError`"
msgstr ":exc:`IsADirectoryError`"

#: ../../c-api/exceptions.rst:1049
msgid ":c:data:`PyExc_KeyError`"
msgstr ":c:data:`PyExc_KeyError`"

#: ../../c-api/exceptions.rst:1049
msgid ":exc:`KeyError`"
msgstr ":exc:`KeyError`"

#: ../../c-api/exceptions.rst:1051
msgid ":c:data:`PyExc_KeyboardInterrupt`"
msgstr ":c:data:`PyExc_KeyboardInterrupt`"

#: ../../c-api/exceptions.rst:1051
msgid ":exc:`KeyboardInterrupt`"
msgstr ":exc:`KeyboardInterrupt`"

#: ../../c-api/exceptions.rst:1053
msgid ":c:data:`PyExc_LookupError`"
msgstr ":c:data:`PyExc_LookupError`"

#: ../../c-api/exceptions.rst:1053
msgid ":exc:`LookupError`"
msgstr ":exc:`LookupError`"

#: ../../c-api/exceptions.rst:1055
msgid ":c:data:`PyExc_MemoryError`"
msgstr ":c:data:`PyExc_MemoryError`"

#: ../../c-api/exceptions.rst:1055
msgid ":exc:`MemoryError`"
msgstr ":exc:`MemoryError`"

#: ../../c-api/exceptions.rst:1057
msgid ":c:data:`PyExc_ModuleNotFoundError`"
msgstr ":c:data:`PyExc_ModuleNotFoundError`"

#: ../../c-api/exceptions.rst:1057
msgid ":exc:`ModuleNotFoundError`"
msgstr ":exc:`ModuleNotFoundError`"

#: ../../c-api/exceptions.rst:1059
msgid ":c:data:`PyExc_NameError`"
msgstr ":c:data:`PyExc_NameError`"

#: ../../c-api/exceptions.rst:1059
msgid ":exc:`NameError`"
msgstr ":exc:`NameError`"

#: ../../c-api/exceptions.rst:1061
msgid ":c:data:`PyExc_NotADirectoryError`"
msgstr ":c:data:`PyExc_NotADirectoryError`"

#: ../../c-api/exceptions.rst:1061
msgid ":exc:`NotADirectoryError`"
msgstr ":exc:`NotADirectoryError`"

#: ../../c-api/exceptions.rst:1063
msgid ":c:data:`PyExc_NotImplementedError`"
msgstr ":c:data:`PyExc_NotImplementedError`"

#: ../../c-api/exceptions.rst:1063
msgid ":exc:`NotImplementedError`"
msgstr ":exc:`NotImplementedError`"

#: ../../c-api/exceptions.rst:1065
msgid ":c:data:`PyExc_OSError`"
msgstr ":c:data:`PyExc_OSError`"

#: ../../c-api/exceptions.rst:1065
msgid ":exc:`OSError`"
msgstr ":exc:`OSError`"

#: ../../c-api/exceptions.rst:1067
msgid ":c:data:`PyExc_OverflowError`"
msgstr ":c:data:`PyExc_OverflowError`"

#: ../../c-api/exceptions.rst:1067
msgid ":exc:`OverflowError`"
msgstr ":exc:`OverflowError`"

#: ../../c-api/exceptions.rst:1069
msgid ":c:data:`PyExc_PermissionError`"
msgstr ":c:data:`PyExc_PermissionError`"

#: ../../c-api/exceptions.rst:1069
msgid ":exc:`PermissionError`"
msgstr ":exc:`PermissionError`"

#: ../../c-api/exceptions.rst:1071
msgid ":c:data:`PyExc_ProcessLookupError`"
msgstr ":c:data:`PyExc_ProcessLookupError`"

#: ../../c-api/exceptions.rst:1071
msgid ":exc:`ProcessLookupError`"
msgstr ":exc:`ProcessLookupError`"

#: ../../c-api/exceptions.rst:1073
msgid ":c:data:`PyExc_RecursionError`"
msgstr ":c:data:`PyExc_RecursionError`"

#: ../../c-api/exceptions.rst:1073
msgid ":exc:`RecursionError`"
msgstr ":exc:`RecursionError`"

#: ../../c-api/exceptions.rst:1075
msgid ":c:data:`PyExc_ReferenceError`"
msgstr ":c:data:`PyExc_ReferenceError`"

#: ../../c-api/exceptions.rst:1075
msgid ":exc:`ReferenceError`"
msgstr ":exc:`ReferenceError`"

#: ../../c-api/exceptions.rst:1077
msgid ":c:data:`PyExc_RuntimeError`"
msgstr ":c:data:`PyExc_RuntimeError`"

#: ../../c-api/exceptions.rst:1077
msgid ":exc:`RuntimeError`"
msgstr ":exc:`RuntimeError`"

#: ../../c-api/exceptions.rst:1079
msgid ":c:data:`PyExc_StopAsyncIteration`"
msgstr ":c:data:`PyExc_StopAsyncIteration`"

#: ../../c-api/exceptions.rst:1079
msgid ":exc:`StopAsyncIteration`"
msgstr ":exc:`StopAsyncIteration`"

#: ../../c-api/exceptions.rst:1081
msgid ":c:data:`PyExc_StopIteration`"
msgstr ":c:data:`PyExc_StopIteration`"

#: ../../c-api/exceptions.rst:1081
msgid ":exc:`StopIteration`"
msgstr ":exc:`StopIteration`"

#: ../../c-api/exceptions.rst:1083
msgid ":c:data:`PyExc_SyntaxError`"
msgstr ":c:data:`PyExc_SyntaxError`"

#: ../../c-api/exceptions.rst:1083
msgid ":exc:`SyntaxError`"
msgstr ":exc:`SyntaxError`"

#: ../../c-api/exceptions.rst:1085
msgid ":c:data:`PyExc_SystemError`"
msgstr ":c:data:`PyExc_SystemError`"

#: ../../c-api/exceptions.rst:1085
msgid ":exc:`SystemError`"
msgstr ":exc:`SystemError`"

#: ../../c-api/exceptions.rst:1087
msgid ":c:data:`PyExc_SystemExit`"
msgstr ":c:data:`PyExc_SystemExit`"

#: ../../c-api/exceptions.rst:1087
msgid ":exc:`SystemExit`"
msgstr ":exc:`SystemExit`"

#: ../../c-api/exceptions.rst:1089
msgid ":c:data:`PyExc_TabError`"
msgstr ":c:data:`PyExc_TabError`"

#: ../../c-api/exceptions.rst:1089
msgid ":exc:`TabError`"
msgstr ":exc:`TabError`"

#: ../../c-api/exceptions.rst:1091
msgid ":c:data:`PyExc_TimeoutError`"
msgstr ":c:data:`PyExc_TimeoutError`"

#: ../../c-api/exceptions.rst:1091
msgid ":exc:`TimeoutError`"
msgstr ":exc:`TimeoutError`"

#: ../../c-api/exceptions.rst:1093
msgid ":c:data:`PyExc_TypeError`"
msgstr ":c:data:`PyExc_TypeError`"

#: ../../c-api/exceptions.rst:1093
msgid ":exc:`TypeError`"
msgstr ":exc:`TypeError`"

#: ../../c-api/exceptions.rst:1095
msgid ":c:data:`PyExc_UnboundLocalError`"
msgstr ":c:data:`PyExc_UnboundLocalError`"

#: ../../c-api/exceptions.rst:1095
msgid ":exc:`UnboundLocalError`"
msgstr ":exc:`UnboundLocalError`"

#: ../../c-api/exceptions.rst:1097
msgid ":c:data:`PyExc_UnicodeDecodeError`"
msgstr ":c:data:`PyExc_UnicodeDecodeError`"

#: ../../c-api/exceptions.rst:1097
msgid ":exc:`UnicodeDecodeError`"
msgstr ":exc:`UnicodeDecodeError`"

#: ../../c-api/exceptions.rst:1099
msgid ":c:data:`PyExc_UnicodeEncodeError`"
msgstr ":c:data:`PyExc_UnicodeEncodeError`"

#: ../../c-api/exceptions.rst:1099
msgid ":exc:`UnicodeEncodeError`"
msgstr ":exc:`UnicodeEncodeError`"

#: ../../c-api/exceptions.rst:1101
msgid ":c:data:`PyExc_UnicodeError`"
msgstr ":c:data:`PyExc_UnicodeError`"

#: ../../c-api/exceptions.rst:1101
msgid ":exc:`UnicodeError`"
msgstr ":exc:`UnicodeError`"

#: ../../c-api/exceptions.rst:1103
msgid ":c:data:`PyExc_UnicodeTranslateError`"
msgstr ":c:data:`PyExc_UnicodeTranslateError`"

#: ../../c-api/exceptions.rst:1103
msgid ":exc:`UnicodeTranslateError`"
msgstr ":exc:`UnicodeTranslateError`"

#: ../../c-api/exceptions.rst:1105
msgid ":c:data:`PyExc_ValueError`"
msgstr ":c:data:`PyExc_ValueError`"

#: ../../c-api/exceptions.rst:1105
msgid ":exc:`ValueError`"
msgstr ":exc:`ValueError`"

#: ../../c-api/exceptions.rst:1107
msgid ":c:data:`PyExc_ZeroDivisionError`"
msgstr ":c:data:`PyExc_ZeroDivisionError`"

#: ../../c-api/exceptions.rst:1107
msgid ":exc:`ZeroDivisionError`"
msgstr ":exc:`ZeroDivisionError`"

#: ../../c-api/exceptions.rst:1110
msgid ""
":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:"
"`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:"
"`PyExc_ConnectionAbortedError`, :c:data:`PyExc_ConnectionRefusedError`, :c:"
"data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, :c:data:"
"`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, :c:data:"
"`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, :c:data:"
"`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` and :c:data:"
"`PyExc_TimeoutError` were introduced following :pep:`3151`."
msgstr ""
":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:"
"`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:"
"`PyExc_ConnectionAbortedError`, :c:data:`PyExc_ConnectionRefusedError`, :c:"
"data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, :c:data:"
"`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, :c:data:"
"`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, :c:data:"
"`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError`  :c:data:"
"`PyExc_TimeoutError`  :pep:`3151` "

#: ../../c-api/exceptions.rst:1120
msgid ":c:data:`PyExc_StopAsyncIteration` and :c:data:`PyExc_RecursionError`."
msgstr ""
":c:data:`PyExc_StopAsyncIteration`  :c:data:`PyExc_RecursionError`\\ "

#: ../../c-api/exceptions.rst:1123
msgid ":c:data:`PyExc_ModuleNotFoundError`."
msgstr ":c:data:`PyExc_ModuleNotFoundError`\\ "

#: ../../c-api/exceptions.rst:1126
msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:"
msgstr ""

#: ../../c-api/exceptions.rst:1136
msgid ":c:data:`PyExc_EnvironmentError`"
msgstr ":c:data:`PyExc_EnvironmentError`"

#: ../../c-api/exceptions.rst:1138
msgid ":c:data:`PyExc_IOError`"
msgstr ":c:data:`PyExc_IOError`"

#: ../../c-api/exceptions.rst:1140
msgid ":c:data:`PyExc_WindowsError`"
msgstr ":c:data:`PyExc_WindowsError`"

#: ../../c-api/exceptions.rst:1140
msgid "[2]_"
msgstr "[2]_"

#: ../../c-api/exceptions.rst:1143
msgid "These aliases used to be separate exception types."
msgstr ""

#: ../../c-api/exceptions.rst:1146 ../../c-api/exceptions.rst:1207
msgid "Notes:"
msgstr ""

#: ../../c-api/exceptions.rst:1149
msgid "This is a base class for other standard exceptions."
msgstr ""

#: ../../c-api/exceptions.rst:1152
msgid ""
"Only defined on Windows; protect code that uses this by testing that the "
"preprocessor macro ``MS_WINDOWS`` is defined."
msgstr ""

#: ../../c-api/exceptions.rst:1158
msgid "Standard Warning Categories"
msgstr ""

#: ../../c-api/exceptions.rst:1160
msgid ""
"All standard Python warning categories are available as global variables "
"whose names are ``PyExc_`` followed by the Python exception name. These have "
"the type :c:expr:`PyObject*`; they are all class objects. For completeness, "
"here are all the variables:"
msgstr ""

#: ../../c-api/exceptions.rst:1181
msgid ":c:data:`PyExc_Warning`"
msgstr ":c:data:`PyExc_Warning`"

#: ../../c-api/exceptions.rst:1181
msgid ":exc:`Warning`"
msgstr ":exc:`Warning`"

#: ../../c-api/exceptions.rst:1181
msgid "[3]_"
msgstr "[3]_"

#: ../../c-api/exceptions.rst:1183
msgid ":c:data:`PyExc_BytesWarning`"
msgstr ":c:data:`PyExc_BytesWarning`"

#: ../../c-api/exceptions.rst:1183
msgid ":exc:`BytesWarning`"
msgstr ":exc:`BytesWarning`"

#: ../../c-api/exceptions.rst:1185
msgid ":c:data:`PyExc_DeprecationWarning`"
msgstr ":c:data:`PyExc_DeprecationWarning`"

#: ../../c-api/exceptions.rst:1185
msgid ":exc:`DeprecationWarning`"
msgstr ":exc:`DeprecationWarning`"

#: ../../c-api/exceptions.rst:1187
msgid ":c:data:`PyExc_FutureWarning`"
msgstr ":c:data:`PyExc_FutureWarning`"

#: ../../c-api/exceptions.rst:1187
msgid ":exc:`FutureWarning`"
msgstr ":exc:`FutureWarning`"

#: ../../c-api/exceptions.rst:1189
msgid ":c:data:`PyExc_ImportWarning`"
msgstr ":c:data:`PyExc_ImportWarning`"

#: ../../c-api/exceptions.rst:1189
msgid ":exc:`ImportWarning`"
msgstr ":exc:`ImportWarning`"

#: ../../c-api/exceptions.rst:1191
msgid ":c:data:`PyExc_PendingDeprecationWarning`"
msgstr ":c:data:`PyExc_PendingDeprecationWarning`"

#: ../../c-api/exceptions.rst:1191
msgid ":exc:`PendingDeprecationWarning`"
msgstr ":exc:`PendingDeprecationWarning`"

#: ../../c-api/exceptions.rst:1193
msgid ":c:data:`PyExc_ResourceWarning`"
msgstr ":c:data:`PyExc_ResourceWarning`"

#: ../../c-api/exceptions.rst:1193
msgid ":exc:`ResourceWarning`"
msgstr ":exc:`ResourceWarning`"

#: ../../c-api/exceptions.rst:1195
msgid ":c:data:`PyExc_RuntimeWarning`"
msgstr ":c:data:`PyExc_RuntimeWarning`"

#: ../../c-api/exceptions.rst:1195
msgid ":exc:`RuntimeWarning`"
msgstr ":exc:`RuntimeWarning`"

#: ../../c-api/exceptions.rst:1197
msgid ":c:data:`PyExc_SyntaxWarning`"
msgstr ":c:data:`PyExc_SyntaxWarning`"

#: ../../c-api/exceptions.rst:1197
msgid ":exc:`SyntaxWarning`"
msgstr ":exc:`SyntaxWarning`"

#: ../../c-api/exceptions.rst:1199
msgid ":c:data:`PyExc_UnicodeWarning`"
msgstr ":c:data:`PyExc_UnicodeWarning`"

#: ../../c-api/exceptions.rst:1199
msgid ":exc:`UnicodeWarning`"
msgstr ":exc:`UnicodeWarning`"

#: ../../c-api/exceptions.rst:1201
msgid ":c:data:`PyExc_UserWarning`"
msgstr ":c:data:`PyExc_UserWarning`"

#: ../../c-api/exceptions.rst:1201
msgid ":exc:`UserWarning`"
msgstr ":exc:`UserWarning`"

#: ../../c-api/exceptions.rst:1204
msgid ":c:data:`PyExc_ResourceWarning`."
msgstr ":c:data:`PyExc_ResourceWarning`."

#: ../../c-api/exceptions.rst:1210
msgid "This is a base class for other standard warning categories."
msgstr ""

#: ../../c-api/exceptions.rst:162
msgid "strerror()"
msgstr "strerror()"

#: ../../c-api/exceptions.rst:614 ../../c-api/exceptions.rst:645
#: ../../c-api/exceptions.rst:660
msgid "module"
msgstr "module"

#: ../../c-api/exceptions.rst:614 ../../c-api/exceptions.rst:645
#: ../../c-api/exceptions.rst:660
msgid "signal"
msgstr "signal"

#: ../../c-api/exceptions.rst:614 ../../c-api/exceptions.rst:645
msgid "SIGINT"
msgstr "SIGINT"

#: ../../c-api/exceptions.rst:614 ../../c-api/exceptions.rst:645
#: ../../c-api/exceptions.rst:660
msgid "KeyboardInterrupt (built-in exception)"
msgstr "KeyboardInterrupt"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_BaseException"
msgstr "PyExc_BaseException"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_Exception"
msgstr "PyExc_Exception"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ArithmeticError"
msgstr "PyExc_ArithmeticError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_AssertionError"
msgstr "PyExc_AssertionError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_AttributeError"
msgstr "PyExc_AttributeError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_BlockingIOError"
msgstr "PyExc_BlockingIOError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_BrokenPipeError"
msgstr "PyExc_BrokenPipeError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_BufferError"
msgstr "PyExc_BufferError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ChildProcessError"
msgstr "PyExc_ChildProcessError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ConnectionAbortedError"
msgstr "PyExc_ConnectionAbortedError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ConnectionError"
msgstr "PyExc_ConnectionError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ConnectionRefusedError"
msgstr "PyExc_ConnectionRefusedError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ConnectionResetError"
msgstr "PyExc_ConnectionResetError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_EOFError"
msgstr "PyExc_EOFError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_FileExistsError"
msgstr "PyExc_FileExistsError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_FileNotFoundError"
msgstr "PyExc_FileNotFoundError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_FloatingPointError"
msgstr "PyExc_FloatingPointError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_GeneratorExit"
msgstr "PyExc_GeneratorExit"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ImportError"
msgstr "PyExc_ImportError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_IndentationError"
msgstr "PyExc_IndentationError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_IndexError"
msgstr "PyExc_IndexError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_InterruptedError"
msgstr "PyExc_InterruptedError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_IsADirectoryError"
msgstr "PyExc_IsADirectoryError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_KeyError"
msgstr "PyExc_KeyError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_KeyboardInterrupt"
msgstr "PyExc_KeyboardInterrupt"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_LookupError"
msgstr "PyExc_LookupError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_MemoryError"
msgstr "PyExc_MemoryError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ModuleNotFoundError"
msgstr "PyExc_ModuleNotFoundError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_NameError"
msgstr "PyExc_NameError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_NotADirectoryError"
msgstr "PyExc_NotADirectoryError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_NotImplementedError"
msgstr "PyExc_NotImplementedError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_OSError"
msgstr "PyExc_OSError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_OverflowError"
msgstr "PyExc_OverflowError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_PermissionError"
msgstr "PyExc_PermissionError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ProcessLookupError"
msgstr "PyExc_ProcessLookupError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_RecursionError"
msgstr "PyExc_RecursionError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ReferenceError"
msgstr "PyExc_ReferenceError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_RuntimeError"
msgstr "PyExc_RuntimeError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_StopAsyncIteration"
msgstr "PyExc_StopAsyncIteration"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_StopIteration"
msgstr "PyExc_StopIteration"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_SyntaxError"
msgstr "PyExc_SyntaxError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_SystemError"
msgstr "PyExc_SystemError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_SystemExit"
msgstr "PyExc_SystemExit"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_TabError"
msgstr "PyExc_TabError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_TimeoutError"
msgstr "PyExc_TimeoutError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_TypeError"
msgstr "PyExc_TypeError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_UnboundLocalError"
msgstr "PyExc_UnboundLocalError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_UnicodeDecodeError"
msgstr "PyExc_UnicodeDecodeError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_UnicodeEncodeError"
msgstr "PyExc_UnicodeEncodeError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_UnicodeError"
msgstr "PyExc_UnicodeError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_UnicodeTranslateError"
msgstr "PyExc_UnicodeTranslateError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ValueError"
msgstr "PyExc_ValueError"

#: ../../c-api/exceptions.rst:945
msgid "PyExc_ZeroDivisionError"
msgstr "PyExc_ZeroDivisionError"

#: ../../c-api/exceptions.rst:1128
msgid "PyExc_EnvironmentError"
msgstr "PyExc_EnvironmentError"

#: ../../c-api/exceptions.rst:1128
msgid "PyExc_IOError"
msgstr "PyExc_IOError"

#: ../../c-api/exceptions.rst:1128
msgid "PyExc_WindowsError"
msgstr "PyExc_WindowsError"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_Warning"
msgstr "PyExc_Warning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_BytesWarning"
msgstr "PyExc_BytesWarning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_DeprecationWarning"
msgstr "PyExc_DeprecationWarning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_FutureWarning"
msgstr "PyExc_FutureWarning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_ImportWarning"
msgstr "PyExc_ImportWarning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_PendingDeprecationWarning"
msgstr "PyExc_PendingDeprecationWarning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_ResourceWarning"
msgstr "PyExc_ResourceWarning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_RuntimeWarning"
msgstr "PyExc_RuntimeWarning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_SyntaxWarning"
msgstr "PyExc_SyntaxWarning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_UnicodeWarning"
msgstr "PyExc_UnicodeWarning"

#: ../../c-api/exceptions.rst:1165
msgid "PyExc_UserWarning"
msgstr "PyExc_UserWarning"

Web Proxy Viewer  |  New URL  |  Original Page