From 54d412edcc940560a47a581981d0010f9c3504cb Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Mon, 14 Mar 2011 14:08:43 -0400 Subject: Add a SubprocessError base class for exceptions in the subprocess module. --- Doc/library/subprocess.rst | 5 +++++ Lib/subprocess.py | 13 +++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index bb6e68b..6ea3c10 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 c8af5d1..874aea7 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. """ -- cgit v0.12