Issue #15501: Document exception classes in subprocess module.

Initial patch by Anton Barkovsky.
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index a8d65b2..a67bf64 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -208,6 +208,54 @@
    output.
 
 
+.. exception:: SubprocessError
+
+    Base class for all other exceptions from this module.
+
+    .. versionadded:: 3.3
+
+
+.. exception:: TimeoutExpired
+
+    Subclass of :exc:`SubprocessError`, raised when a timeout expires
+    while waiting for a child process.
+
+    .. attribute:: cmd
+
+        Command that was used to spawn the child process.
+
+    .. attribute:: timeout
+
+        Timeout in seconds.
+
+    .. attribute:: output
+
+        Output of the child process if this exception is raised by
+        :func:`check_output`.  Otherwise, ``None``.
+
+    .. versionadded:: 3.3
+
+
+.. exception:: CalledProcessError
+
+    Subclass of :exc:`SubprocessError`, raised when a process run by
+    :func:`check_call` or :func:`check_output` returns a non-zero exit status.
+
+    .. attribute:: returncode
+
+        Exit status of the child process.
+
+    .. attribute:: cmd
+
+        Command that was used to spawn the child process.
+
+    .. attribute:: output
+
+        Output of the child process if this exception is raised by
+        :func:`check_output`.  Otherwise, ``None``.
+
+
+
 .. _frequently-used-arguments:
 
 Frequently Used Arguments