From: Gregory P. Smith Date: Mon, 14 Mar 2011 18:08:43 +0000 (-0400) Subject: Add a SubprocessError base class for exceptions in the subprocess module. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=54d412edcc940560a47a581981d0010f9c3504cb;p=python Add a SubprocessError base class for exceptions in the subprocess module. --- diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index bb6e68bd48..6ea3c10dfc 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -387,6 +387,11 @@ All of the functions and methods that accept a *timeout* parameter, such as :func:`call` and :meth:`Popen.communicate` will raise :exc:`TimeoutExpired` if the timeout expires before the process exits. +Exceptions defined in this module all inherit from :ext:`SubprocessError`. + + .. versionadded:: 3.3 + The :exc:`SubprocessError` base class was added. + Security ^^^^^^^^ diff --git a/Lib/subprocess.py b/Lib/subprocess.py index c8af5d16b9..874aea7234 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -191,8 +191,10 @@ should prepare for OSErrors. A ValueError will be raised if Popen is called with invalid arguments. -check_call() and check_output() will raise CalledProcessError, if the -called process returns a non-zero return code. +Exceptions defined within this module inherit from SubprocessError. +check_call() and check_output() will raise CalledProcessError if the +called process returns a non-zero return code. TimeoutExpired +be raised if a timeout was specified and expired. Security @@ -348,7 +350,10 @@ import builtins import warnings # Exception classes used by this module. -class CalledProcessError(Exception): +class SubprocessError(Exception): pass + + +class CalledProcessError(SubprocessError): """This exception is raised when a process run by check_call() or check_output() returns a non-zero exit status. The exit status will be stored in the returncode attribute; @@ -362,7 +367,7 @@ class CalledProcessError(Exception): return "Command '%s' returned non-zero exit status %d" % (self.cmd, self.returncode) -class TimeoutExpired(Exception): +class TimeoutExpired(SubprocessError): """This exception is raised when the timeout expires while waiting for a child process. """