Movatterモバイル変換


[0]ホーム

URL:


[Python-Dev] PEP 348: Exception Reorganization for Python 3.0

Reinhold Birkenfeldreinhold-birkenfeld-nospam at wolke7.net
Fri Aug 5 22:12:31 CEST 2005


Raymond Hettinger wrote:> 2.  There is a lesson to be taken from a story in the ACM risks forum> where a massive phone outage was traced to a single line of C code that> ran a "break" to get out of a nested if-statement.  The interesting part> is that this was known to be mission critical code yet the error> survived multiple, independent code reviews.  The problem was that the> code created an optical illusion.  We risk the same thing when an> "except Exception" doesn't catch ControlFlowExceptions.  The> recovery/logging handler will look like it ought to catch everything,> but it won't.  That is a disaster for fault-tolerant coding and for> keeping your sales demo from exploding in front of customers.I think that ControlFlowException should inherit from Exception, because it isan exception. As Raymond says, it's hard to spot this when in a hurry.But looking at the current PEP 348, why not rename BaseException to Exceptionand Exception to Error?That way, you could say "except Error:" instead of most of today's bare "except:"and it's clear that StopIteration or GeneratorExit won't be caught because theyare not errors.Reinhold-- Mail address is perfectly valid!


More information about the Python-Devmailing list

[8]ページ先頭

©2009-2025 Movatter.jp