From 50ffbe3dafcae7826d114df61d56c7ac45a6358c Mon Sep 17 00:00:00 2001 From: Jack DeVries <58614260+jdevries3133@users.noreply.github.com> Date: Thu, 22 Jul 2021 14:23:29 -0400 Subject: bpo-14879: [doc] clarify how to check for errors from subprocess.Popen(..., shell=True) (GH-26755) --- Doc/library/subprocess.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index 56b6b6e..6c127dc 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -689,7 +689,10 @@ execute, will be re-raised in the parent. The most common exception raised is :exc:`OSError`. This occurs, for example, when trying to execute a non-existent file. Applications should prepare for -:exc:`OSError` exceptions. +:exc:`OSError` exceptions. Note that, when ``"shell=True"``, :exc:`OSError` +will be raised by the child only if the selected shell itself was not found. +To determine if the shell failed to find the requested application, it is +necessary to check the return code or output from the subprocess. A :exc:`ValueError` will be raised if :class:`Popen` is called with invalid arguments. -- cgit v0.12