From 737fb89dd15e4db6ef30d25963e774ae09cc49dc Mon Sep 17 00:00:00 2001 From: Andrew Svetlov Date: Tue, 18 Dec 2012 21:14:22 +0200 Subject: [PATCH] Issue #16714: use 'raise' exceptions, don't 'throw'. Patch by Serhiy Storchaka. --- Doc/howto/cporting.rst | 2 +- Lib/asyncore.py | 2 +- Lib/distutils/tests/test_msvc9compiler.py | 2 +- Lib/email/feedparser.py | 4 ++-- Lib/email/header.py | 2 +- Lib/importlib/_bootstrap.py | 2 +- Lib/importlib/test/import_/test_fromlist.py | 2 +- Lib/io.py | 2 +- Lib/logging/__init__.py | 2 +- Lib/multiprocessing/util.py | 2 +- Lib/runpy.py | 2 +- Lib/tempfile.py | 2 +- Lib/test/test_codeop.py | 2 +- Lib/test/test_docxmlrpc.py | 2 +- Lib/test/test_imaplib.py | 2 +- Lib/test/test_minidom.py | 2 +- Lib/test/test_os.py | 16 ++++++++-------- Lib/test/test_pty.py | 2 +- Lib/test/test_sax.py | 4 ++-- Lib/test/test_signal.py | 4 ++-- Lib/test/test_socketserver.py | 2 +- Lib/test/test_sys_settrace.py | 2 +- Lib/test/test_time.py | 2 +- Lib/test/test_uu.py | 4 ++-- Lib/test/test_winreg.py | 4 ++-- Lib/test/test_zipfile.py | 2 +- Lib/tkinter/__init__.py | 2 +- Lib/unittest/case.py | 4 ++-- Lib/wsgiref/validate.py | 4 ++-- Lib/xml/sax/_exceptions.py | 6 +++--- Lib/xml/sax/xmlreader.py | 2 +- Lib/xmlrpc/client.py | 2 +- Modules/_io/_iomodule.c | 2 +- Modules/parsermodule.c | 6 +++--- Modules/posixmodule.c | 2 +- Tools/scripts/serve.py | 2 +- 36 files changed, 54 insertions(+), 54 deletions(-) diff --git a/Doc/howto/cporting.rst b/Doc/howto/cporting.rst index 6dd0765bd33..9d8a1b0e354 100644 --- a/Doc/howto/cporting.rst +++ b/Doc/howto/cporting.rst @@ -253,7 +253,7 @@ behave slightly differently from real Capsules. Specifically: * :c:func:`PyCapsule_GetName` always returns NULL. - * :c:func:`PyCapsule_SetName` always throws an exception and + * :c:func:`PyCapsule_SetName` always raises an exception and returns failure. (Since there's no way to store a name in a CObject, noisy failure of :c:func:`PyCapsule_SetName` was deemed preferable to silent failure here. If this is diff --git a/Lib/asyncore.py b/Lib/asyncore.py index b06077fd617..d379ba820c3 100644 --- a/Lib/asyncore.py +++ b/Lib/asyncore.py @@ -393,7 +393,7 @@ class dispatcher: else: return data except socket.error as why: - # winsock sometimes throws ENOTCONN + # winsock sometimes raises ENOTCONN if why.args[0] in _DISCONNECTED: self.handle_close() return b'' diff --git a/Lib/distutils/tests/test_msvc9compiler.py b/Lib/distutils/tests/test_msvc9compiler.py index 5fa1ca10d47..301d43d20c0 100644 --- a/Lib/distutils/tests/test_msvc9compiler.py +++ b/Lib/distutils/tests/test_msvc9compiler.py @@ -104,7 +104,7 @@ class msvc9compilerTestCase(support.TempdirManager, unittest.TestCase): def test_no_compiler(self): - # makes sure query_vcvarsall throws + # makes sure query_vcvarsall raises # a DistutilsPlatformError if the compiler # is not found from distutils.msvc9compiler import query_vcvarsall diff --git a/Lib/email/feedparser.py b/Lib/email/feedparser.py index aa8a2ffa644..16ed2885d71 100644 --- a/Lib/email/feedparser.py +++ b/Lib/email/feedparser.py @@ -13,7 +13,7 @@ parser. It returns when there's nothing more it can do with the available data. When you have no more data to push into the parser, call .close(). This completes the parsing and returns the root message object. -The other advantage of this parser is that it will never throw a parsing +The other advantage of this parser is that it will never raise a parsing exception. Instead, when it finds something unexpected, it adds a 'defect' to the current message. Defects are just instances that live on the message object's .defects attribute. @@ -214,7 +214,7 @@ class FeedParser: # supposed to see in the body of the message. self._parse_headers(headers) # Headers-only parsing is a backwards compatibility hack, which was - # necessary in the older parser, which could throw errors. All + # necessary in the older parser, which could raise errors. All # remaining lines in the input are thrown into the message body. if self._headersonly: lines = [] diff --git a/Lib/email/header.py b/Lib/email/header.py index 3250d367edd..e33324ad38e 100644 --- a/Lib/email/header.py +++ b/Lib/email/header.py @@ -280,7 +280,7 @@ class Header: else: s = s.decode(input_charset, errors) # Ensure that the bytes we're storing can be decoded to the output - # character set, otherwise an early error is thrown. + # character set, otherwise an early error is raised. output_charset = charset.output_codec or 'us-ascii' if output_charset != _charset.UNKNOWN8BIT: try: diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index 90eb1a770f9..aa4032c0ff5 100644 --- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -415,7 +415,7 @@ class SourceLoader(_LoaderBasics): source_mtime is not None): # If e.g. Jython ever implements imp.cache_from_source to have # their own cached file format, this block of code will most likely - # throw an exception. + # raise an exception. data = bytearray(imp.get_magic()) data.extend(marshal._w_long(source_mtime)) data.extend(marshal.dumps(code_object)) diff --git a/Lib/importlib/test/import_/test_fromlist.py b/Lib/importlib/test/import_/test_fromlist.py index b903e8e6112..7ecde037aee 100644 --- a/Lib/importlib/test/import_/test_fromlist.py +++ b/Lib/importlib/test/import_/test_fromlist.py @@ -39,7 +39,7 @@ class HandlingFromlist(unittest.TestCase): If a package is being imported, then what is listed in fromlist may be treated as a module to be imported [module]. But once again, even if - something in fromlist does not exist as a module, no error is thrown + something in fromlist does not exist as a module, no error is raised [no module]. And this extends to what is contained in __all__ when '*' is imported [using *]. And '*' does not need to be the only name in the fromlist [using * with others]. diff --git a/Lib/io.py b/Lib/io.py index a59a75ae090..63d2b33838f 100644 --- a/Lib/io.py +++ b/Lib/io.py @@ -4,7 +4,7 @@ builtin open function is defined in this module. At the top of the I/O hierarchy is the abstract base class IOBase. It defines the basic interface to a stream. Note, however, that there is no separation between reading and writing to streams; implementations are -allowed to throw an IOError if they do not support a given operation. +allowed to raise an IOError if they do not support a given operation. Extending IOBase is RawIOBase which deals simply with the reading and writing of raw bytes to a stream. FileIO subclasses RawIOBase to provide diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index 361fa888661..4da07f1d8ba 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -1355,7 +1355,7 @@ class Logger(Filterer): """ sinfo = None if _srcfile: - #IronPython doesn't track Python frames, so findCaller throws an + #IronPython doesn't track Python frames, so findCaller raises an #exception on some versions of IronPython. We trap it here so that #IronPython can use logging. try: diff --git a/Lib/multiprocessing/util.py b/Lib/multiprocessing/util.py index 20bba3764c2..61b05335ac6 100644 --- a/Lib/multiprocessing/util.py +++ b/Lib/multiprocessing/util.py @@ -301,7 +301,7 @@ def _exit_function(info=info, debug=debug, _run_finalizers=_run_finalizers, _run_finalizers(0) if current_process() is not None: # We check if the current process is None here because if - # it's None, any call to ``active_children()`` will throw an + # it's None, any call to ``active_children()`` will raise an # AttributeError (active_children winds up trying to get # attributes from util._current_process). This happens in a # variety of shutdown circumstances that are not well-understood diff --git a/Lib/runpy.py b/Lib/runpy.py index 7cb4668a01c..a14a62e128a 100644 --- a/Lib/runpy.py +++ b/Lib/runpy.py @@ -211,7 +211,7 @@ def _get_importer(path_name): pass else: # The following check looks a bit odd. The trick is that - # NullImporter throws ImportError if the supplied path is a + # NullImporter raises ImportError if the supplied path is a # *valid* directory entry (and hence able to be handled # by the standard import machinery) try: diff --git a/Lib/tempfile.py b/Lib/tempfile.py index 34dff30468b..b8fc18c3bf7 100644 --- a/Lib/tempfile.py +++ b/Lib/tempfile.py @@ -625,7 +625,7 @@ class TemporaryDirectory(object): def __init__(self, suffix="", prefix=template, dir=None): self._closed = False - self.name = None # Handle mkdtemp throwing an exception + self.name = None # Handle mkdtemp raising an exception self.name = mkdtemp(suffix, prefix, dir) def __repr__(self): diff --git a/Lib/test/test_codeop.py b/Lib/test/test_codeop.py index d0962936489..b65423b34cd 100644 --- a/Lib/test/test_codeop.py +++ b/Lib/test/test_codeop.py @@ -50,7 +50,7 @@ class CodeopTests(unittest.TestCase): '''succeed iff str is the start of an invalid piece of code''' try: compile_command(str,symbol=symbol) - self.fail("No exception thrown for invalid code") + self.fail("No exception raised for invalid code") except SyntaxError: self.assertTrue(is_syntax) except OverflowError: diff --git a/Lib/test/test_docxmlrpc.py b/Lib/test/test_docxmlrpc.py index 60a69dd91fa..d6ca45847ec 100644 --- a/Lib/test/test_docxmlrpc.py +++ b/Lib/test/test_docxmlrpc.py @@ -100,7 +100,7 @@ class DocXMLRPCHTTPGETServer(unittest.TestCase): self.assertEqual(response.status, 200) self.assertEqual(response.getheader("Content-type"), "text/html") - # Server throws an exception if we don't start to read the data + # Server raises an exception if we don't start to read the data response.read() def test_invalid_get_response(self): diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py index 5c99a58570e..43ee7df3c43 100644 --- a/Lib/test/test_imaplib.py +++ b/Lib/test/test_imaplib.py @@ -99,7 +99,7 @@ class SimpleIMAPHandler(socketserver.StreamRequestHandler): return line += part except IOError: - # ..but SSLSockets throw exceptions. + # ..but SSLSockets raise exceptions. return if line.endswith(b'\r\n'): break diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py index 4a69b001539..80812c8cfae 100644 --- a/Lib/test/test_minidom.py +++ b/Lib/test/test_minidom.py @@ -1085,7 +1085,7 @@ class MinidomTest(unittest.TestCase): self.assertEqual(doc.toxml('iso-8859-15'), b'\xa4') - # Verify that character decoding errors throw exceptions instead + # Verify that character decoding errors raise exceptions instead # of crashing self.assertRaises(UnicodeDecodeError, parseString, b'Comment \xe7a va ? Tr\xe8s bien ?') diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index ef14733e1d5..612c62a3409 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -164,33 +164,33 @@ class StatAttributeTests(unittest.TestCase): try: result[200] - self.fail("No exception thrown") + self.fail("No exception raised") except IndexError: pass # Make sure that assignment fails try: result.st_mode = 1 - self.fail("No exception thrown") + self.fail("No exception raised") except AttributeError: pass try: result.st_rdev = 1 - self.fail("No exception thrown") + self.fail("No exception raised") except (AttributeError, TypeError): pass try: result.parrot = 1 - self.fail("No exception thrown") + self.fail("No exception raised") except AttributeError: pass # Use the stat_result constructor with a too-short tuple. try: result2 = os.stat_result((10,)) - self.fail("No exception thrown") + self.fail("No exception raised") except TypeError: pass @@ -233,20 +233,20 @@ class StatAttributeTests(unittest.TestCase): # Make sure that assignment really fails try: result.f_bfree = 1 - self.fail("No exception thrown") + self.fail("No exception raised") except AttributeError: pass try: result.parrot = 1 - self.fail("No exception thrown") + self.fail("No exception raised") except AttributeError: pass # Use the constructor with a too-short tuple. try: result2 = os.statvfs_result((10,)) - self.fail("No exception thrown") + self.fail("No exception raised") except TypeError: pass diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py index fcebce78e85..4d471d534ee 100644 --- a/Lib/test/test_pty.py +++ b/Lib/test/test_pty.py @@ -152,7 +152,7 @@ class PtyTest(unittest.TestCase): # platform-dependent amount of data is written to its fd. On # Linux 2.6, it's 4000 bytes and the child won't block, but on OS # X even the small writes in the child above will block it. Also - # on Linux, the read() will throw an OSError (input/output error) + # on Linux, the read() will raise an OSError (input/output error) # when it tries to read past the end of the buffer but the child's # already exited, so catch and discard those exceptions. It's not # worth checking for EIO. diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py index 1225d6e769b..d6ed6db9429 100644 --- a/Lib/test/test_sax.py +++ b/Lib/test/test_sax.py @@ -389,7 +389,7 @@ class XmlgenTest(unittest.TestCase): def test_5027_1(self): # The xml prefix (as in xml:lang below) is reserved and bound by # definition to http://www.w3.org/XML/1998/namespace. XMLGenerator had - # a bug whereby a KeyError is thrown because this namespace is missing + # a bug whereby a KeyError is raised because this namespace is missing # from a dictionary. # # This test demonstrates the bug by parsing a document. @@ -415,7 +415,7 @@ class XmlgenTest(unittest.TestCase): def test_5027_2(self): # The xml prefix (as in xml:lang below) is reserved and bound by # definition to http://www.w3.org/XML/1998/namespace. XMLGenerator had - # a bug whereby a KeyError is thrown because this namespace is missing + # a bug whereby a KeyError is raised because this namespace is missing # from a dictionary. # # This test demonstrates the bug by direct manipulation of the diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py index 8df1bf0a192..4a1b4a654f7 100644 --- a/Lib/test/test_signal.py +++ b/Lib/test/test_signal.py @@ -113,7 +113,7 @@ class InterProcessSignalTests(unittest.TestCase): # This wait should be interrupted by the signal's exception. self.wait(child) time.sleep(1) # Give the signal time to be delivered. - self.fail('HandlerBCalled exception not thrown') + self.fail('HandlerBCalled exception not raised') except HandlerBCalled: self.assertTrue(self.b_called) self.assertFalse(self.a_called) @@ -152,7 +152,7 @@ class InterProcessSignalTests(unittest.TestCase): # test-running process from all the signals. It then # communicates with that child process over a pipe and # re-raises information about any exceptions the child - # throws. The real work happens in self.run_test(). + # raises. The real work happens in self.run_test(). os_done_r, os_done_w = os.pipe() with closing(os.fdopen(os_done_r, 'rb')) as done_r, \ closing(os.fdopen(os_done_w, 'wb')) as done_w: diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py index ca23301cd1f..160f5b83dd6 100644 --- a/Lib/test/test_socketserver.py +++ b/Lib/test/test_socketserver.py @@ -58,7 +58,7 @@ if HAVE_UNIX_SOCKETS: def simple_subprocess(testcase): pid = os.fork() if pid == 0: - # Don't throw an exception; it would be caught by the test harness. + # Don't raise an exception; it would be caught by the test harness. os._exit(72) yield None pid2, status = os.waitpid(pid, 0) diff --git a/Lib/test/test_sys_settrace.py b/Lib/test/test_sys_settrace.py index ea2bb2987af..ba3bc2e9114 100644 --- a/Lib/test/test_sys_settrace.py +++ b/Lib/test/test_sys_settrace.py @@ -418,7 +418,7 @@ class RaisingTraceFuncTestCase(unittest.TestCase): except ValueError: pass else: - self.fail("exception not thrown!") + self.fail("exception not raised!") except RuntimeError: self.fail("recursion counter not reset") diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py index ce57d876add..d3c49bb9221 100644 --- a/Lib/test/test_time.py +++ b/Lib/test/test_time.py @@ -106,7 +106,7 @@ class TimeTestCase(unittest.TestCase): def test_strptime(self): # Should be able to go round-trip from strftime to strptime without - # throwing an exception. + # raising an exception. tt = time.gmtime(self.t) for directive in ('a', 'A', 'b', 'B', 'c', 'd', 'H', 'I', 'j', 'm', 'M', 'p', 'S', diff --git a/Lib/test/test_uu.py b/Lib/test/test_uu.py index d6875c548c8..cbf6724fd2d 100644 --- a/Lib/test/test_uu.py +++ b/Lib/test/test_uu.py @@ -80,7 +80,7 @@ class UUTest(unittest.TestCase): out = io.BytesIO() try: uu.decode(inp, out) - self.fail("No exception thrown") + self.fail("No exception raised") except uu.Error as e: self.assertEqual(str(e), "Truncated input file") @@ -89,7 +89,7 @@ class UUTest(unittest.TestCase): out = io.BytesIO() try: uu.decode(inp, out) - self.fail("No exception thrown") + self.fail("No exception raised") except uu.Error as e: self.assertEqual(str(e), "No valid begin line found in input file") diff --git a/Lib/test/test_winreg.py b/Lib/test/test_winreg.py index 55163c98bff..918b312871e 100644 --- a/Lib/test/test_winreg.py +++ b/Lib/test/test_winreg.py @@ -245,7 +245,7 @@ class LocalWinregTests(BaseWinregTests): def test_changing_value(self): # Issue2810: A race condition in 2.6 and 3.1 may cause - # EnumValue or QueryValue to throw "WindowsError: More data is + # EnumValue or QueryValue to raise "WindowsError: More data is # available" done = False @@ -291,7 +291,7 @@ class LocalWinregTests(BaseWinregTests): def test_dynamic_key(self): # Issue2810, when the value is dynamically generated, these - # throw "WindowsError: More data is available" in 2.6 and 3.1 + # raise "WindowsError: More data is available" in 2.6 and 3.1 try: EnumValue(HKEY_PERFORMANCE_DATA, 0) except OSError as e: diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py index 5bc03b507c3..e07380dd16d 100644 --- a/Lib/test/test_zipfile.py +++ b/Lib/test/test_zipfile.py @@ -873,7 +873,7 @@ class OtherTests(unittest.TestCase): with zipfile.ZipFile(data, mode="w") as zipf: zipf.writestr("foo.txt", "O, for a Muse of Fire!") - # This is correct; calling .read on a closed ZipFile should throw + # This is correct; calling .read on a closed ZipFile should raise # a RuntimeError, and so should calling .testzip. An earlier # version of .testzip would swallow this exception (and any other) # and report that the first file in the archive was corrupt. diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py index 70736623a18..f2cb60f4b5e 100644 --- a/Lib/tkinter/__init__.py +++ b/Lib/tkinter/__init__.py @@ -147,7 +147,7 @@ def _tkerror(err): pass def _exit(code=0): - """Internal function. Calling it will throw the exception SystemExit.""" + """Internal function. Calling it will raise the exception SystemExit.""" try: code = int(code) except ValueError: diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py index bd47493ebde..bea810711db 100644 --- a/Lib/unittest/case.py +++ b/Lib/unittest/case.py @@ -528,10 +528,10 @@ class TestCase(object): def assertRaises(self, excClass, callableObj=None, *args, **kwargs): - """Fail unless an exception of class excClass is thrown + """Fail unless an exception of class excClass is raised by callableObj when invoked with arguments args and keyword arguments kwargs. If a different type of exception is - thrown, it will not be caught, and the test case will be + raised, it will not be caught, and the test case will be deemed to have suffered an error, exactly as for an unexpected exception. diff --git a/Lib/wsgiref/validate.py b/Lib/wsgiref/validate.py index 05a485db7a7..49eaa514cc5 100644 --- a/Lib/wsgiref/validate.py +++ b/Lib/wsgiref/validate.py @@ -139,9 +139,9 @@ def validator(application): When applied between a WSGI server and a WSGI application, this middleware will check for WSGI compliancy on a number of levels. This middleware does not modify the request or response in any - way, but will throw an AssertionError if anything seems off + way, but will raise an AssertionError if anything seems off (except for a failure to close the application iterator, which - will be printed to stderr -- there's no way to throw an exception + will be printed to stderr -- there's no way to raise an exception at that point). """ diff --git a/Lib/xml/sax/_exceptions.py b/Lib/xml/sax/_exceptions.py index fdd614aee66..a9b2ba35c6a 100644 --- a/Lib/xml/sax/_exceptions.py +++ b/Lib/xml/sax/_exceptions.py @@ -12,7 +12,7 @@ class SAXException(Exception): the application: you can subclass it to provide additional functionality, or to add localization. Note that although you will receive a SAXException as the argument to the handlers in the - ErrorHandler interface, you are not actually required to throw + ErrorHandler interface, you are not actually required to raise the exception; instead, you can simply read the information in it.""" @@ -50,7 +50,7 @@ class SAXParseException(SAXException): the original XML document. Note that although the application will receive a SAXParseException as the argument to the handlers in the ErrorHandler interface, the application is not actually required - to throw the exception; instead, it can simply read the + to raise the exception; instead, it can simply read the information in it and take a different action. Since this exception is a subclass of SAXException, it inherits @@ -62,7 +62,7 @@ class SAXParseException(SAXException): self._locator = locator # We need to cache this stuff at construction time. - # If this exception is thrown, the objects through which we must + # If this exception is raised, the objects through which we must # traverse to get this information may be deleted by the time # it gets caught. self._systemId = self._locator.getSystemId() diff --git a/Lib/xml/sax/xmlreader.py b/Lib/xml/sax/xmlreader.py index 5ce30b042a5..7ef497f94fe 100644 --- a/Lib/xml/sax/xmlreader.py +++ b/Lib/xml/sax/xmlreader.py @@ -68,7 +68,7 @@ class XMLReader: SAX parsers are not required to provide localization for errors and warnings; if they cannot support the requested locale, - however, they must throw a SAX exception. Applications may + however, they must raise a SAX exception. Applications may request a locale change in the middle of a parse.""" raise SAXNotSupportedException("Locale support not implemented") diff --git a/Lib/xmlrpc/client.py b/Lib/xmlrpc/client.py index 97d5aac53d5..ec8d8e92d6f 100644 --- a/Lib/xmlrpc/client.py +++ b/Lib/xmlrpc/client.py @@ -800,7 +800,7 @@ class _MultiCallMethod: class MultiCallIterator: """Iterates over the results of a multicall. Exceptions are - thrown in response to xmlrpc faults.""" + raised in response to xmlrpc faults.""" def __init__(self, results): self.results = results diff --git a/Modules/_io/_iomodule.c b/Modules/_io/_iomodule.c index e18aec66861..cec06710c4e 100644 --- a/Modules/_io/_iomodule.c +++ b/Modules/_io/_iomodule.c @@ -59,7 +59,7 @@ PyDoc_STRVAR(module_doc, "At the top of the I/O hierarchy is the abstract base class IOBase. It\n" "defines the basic interface to a stream. Note, however, that there is no\n" "separation between reading and writing to streams; implementations are\n" -"allowed to throw an IOError if they do not support a given operation.\n" +"allowed to raise an IOError if they do not support a given operation.\n" "\n" "Extending IOBase is RawIOBase which deals simply with the reading and\n" "writing of raw bytes to a stream. FileIO subclasses RawIOBase to provide\n" diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c index b8732dce87f..9497aaee435 100644 --- a/Modules/parsermodule.c +++ b/Modules/parsermodule.c @@ -718,7 +718,7 @@ parser_tuple2st(PyST_Object *self, PyObject *args, PyObject *kw) err_string("parse tree does not use a valid start symbol"); } } - /* Make sure we throw an exception on all errors. We should never + /* Make sure we raise an exception on all errors. We should never * get this, but we'd do well to be sure something is done. */ if (st == NULL && !PyErr_Occurred()) @@ -824,7 +824,7 @@ build_node_children(PyObject *tuple, node *root, int *line_num) else if (!ISNONTERMINAL(type)) { /* * It has to be one or the other; this is an error. - * Throw an exception. + * Raise an exception. */ PyObject *err = Py_BuildValue("os", elem, "unknown node type."); PyErr_SetObject(parser_error, err); @@ -876,7 +876,7 @@ build_node_tree(PyObject *tuple) if (ISTERMINAL(num)) { /* * The tuple is simple, but it doesn't start with a start symbol. - * Throw an exception now and be done with it. + * Raise an exception now and be done with it. */ tuple = Py_BuildValue("os", tuple, "Illegal syntax-tree; cannot start with terminal symbol."); diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 9f57673fbe4..0d2919b84e0 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -349,7 +349,7 @@ static int win32_can_symlink = 0; #if defined _MSC_VER && _MSC_VER >= 1400 /* Microsoft CRT in VS2005 and higher will verify that a filehandle is - * valid and throw an assertion if it isn't. + * valid and raise an assertion if it isn't. * Normally, an invalid fd is likely to be a C program error and therefore * an assertion can be useful, but it does contradict the POSIX standard * which for write(2) states: diff --git a/Tools/scripts/serve.py b/Tools/scripts/serve.py index 89b3d6218fb..68c25f057f3 100755 --- a/Tools/scripts/serve.py +++ b/Tools/scripts/serve.py @@ -2,7 +2,7 @@ ''' Small wsgiref based web server. Takes a path to serve from and an optional port number (defaults to 8000), then tries to serve files. -Mime types are guessed from the file names, 404 errors are thrown +Mime types are guessed from the file names, 404 errors are raised if the file is not found. Used for the make serve target in Doc. ''' import sys