Python异常处理与自定义异常-ShortInputException

需积分: 50 31 下载量 35 浏览量 更新于2024-08-07 收藏 845KB PDF 举报
"如何引发异常-opengl es 3.1 spec" 在Python编程中,异常处理是一种重要的机制,用于处理程序运行时可能出现的错误情况。在给定的代码示例中,我们看到如何自定义异常并根据不同的错误条件来引发它们。这段代码是一个简单的交互式程序,它要求用户输入一些文本,并检查输入的长度是否达到至少3个字符。如果输入的长度小于3,程序会引发一个`ShortInputException`。 `ShortInputException`是作者自定义的一个异常类,继承自内置的`Exception`类。这个类有两个属性:`length`和`atleast`,分别表示实际输入的长度和程序期望的最小长度。当输入长度不足时,通过`raise`关键字来实例化并抛出这个异常。 在程序的主逻辑中,使用了`try-except`语句块来捕获可能的异常。`try`块中,程序首先获取用户的输入,然后检查输入的长度。如果长度小于3,就抛出自定义的`ShortInputException`。`except`块则用于处理不同类型的异常。在这里,`except ShortInputException, x:`这一行意味着如果发生`ShortInputException`,程序会进入这个分支,并使用`x`作为异常对象,从中获取`length`和`atleast`信息来打印一条用户友好的错误消息。此外,还有一个`except EOFError:`分支,用于处理用户提前结束输入(如按下Ctrl+D)的情况。 在`try`块的末尾,如果没有发生任何异常,`else`块的代码将被执行,显示"No exception was raised."。这表明程序正常执行完毕,没有遇到需要处理的错误。 在Python中,`try..except`语句是异常处理的核心,它可以捕获并处理各种运行时错误。通过这种方式,开发者可以编写更健壮的代码,即使在遇到预期之外的问题时也能优雅地处理,而不是让程序突然崩溃。 此外,`try..finally`语句在Python中用于确保某些代码无论是否发生异常都会被执行。例如,清理资源、关闭文件等操作通常放在`finally`块中,以确保这些操作总是在适当的时候完成。 这段代码展示了如何在Python中定义和使用自定义异常,以及如何利用异常处理机制来控制程序的流程,提供更好的错误反馈,这对于编写稳健的Python程序至关重要。