我的一个在JAVA上工作的朋友问我如何处理Python中的已检查和未检查异常。我以前没听说过这些术语,所以我在谷歌上搜索了一下,找出什么是检查和未检查异常。我在Python中没有发现任何与此类异常相关的内容
Do we have a concept of checked and unchecked exceptions in Python? If
no, then by default all the exceptions are checked or unchecked?
提前谢谢你
Tags:
Java有检查和未检查的异常,因为Java是一种编译的编程语言,检查的异常出现在编译中。在python中,没有这样的例外,因为python是一种解释语言
检查异常在Python中是不存在的。但是Python在异常类层次结构中确实有一些相似之处。以下是Java结构:
source
在Java中,如果方法将抛出
Exception
或任何继承自Exception
的类,而不是RuntimeException
,则必须在方法签名中声明。此规则称为已检查异常。。它迫使用户考虑它们或应用程序将不编译。在Python中,我们仍然有一个类似的概念,但没有强制执行。您可能听说过,使用bare-except语句是不好的风格,至少您应该选择捕获
Exception
这是因为在Python中
Exception
从BaseException
扩展而来,而一个裸的except
将捕获所有内容。例如,您可能不想捕获引起KeyboardInterrupt
的ctrl+c
。如果你做一个空的except:
,那么KeyboardInterrupt
会被捕获,但是如果你做一个except Exception:
,你会让这个气泡冒出来并停止应用程序。这是因为KeyboardInterrupt
扩展了BaseException
而不是Exception
,因此不会被捕获相关问题 更多 >
编程相关推荐