gpt4 book ai didi

java - 我们有 Python 中已检查和未检查异常的概念吗?

转载 作者:行者123 更新时间:2023-12-04 17:25:34 25 4
gpt4 key购买 nike

我的一位从事 JAVA 工作的 friend 问我如何处理 Python 中的已检查和未检查异常。我以前没有听说过这些术语,所以我四处搜索以找出什么是已检查和未检查的异常。我在 Python 中没有找到与此类异常相关的任何内容。

Do we have a concept of checked and unchecked exceptions in Python? Ifno, then by default all the exceptions are checked or unchecked?


先感谢您!

最佳答案

检查异常在 Python 中不是一回事。但是 Python 在异常类层次结构中确实有一些相似之处。这是Java结构:
source
在 Java 中,您必须在方法签名中声明该方法是否会抛出 Exception或任何继承自 Exception 的类,但不是 RuntimeException .此规则称为已检查异常。它强制用户考虑它们,否则应用程序将无法编译。
在 Python 中我们仍然有类似的概念,但没有强制执行。你之前可能听说过做一个空的except语句是不好的风格,最起码你应该选择catch Exception

try:
foo()
except: # bad!
bar()

try:
foo()
except Exception: # somewhat better!
bar()
这是因为在 Python 中 Exception来自 BaseException和一个裸 except会捕获一切。例如,您可能不想捕获 ctrl+c这引发了 KeyboardInterrupt .如果你做一个裸 except: ,然后 KeyboardInterrupt会被捕获,但如果你做 except Exception:你会让这个冒泡并停止应用程序。那是因为 KeyboardInterrupt扩展 BaseException而不是 Exception因此不会被捕获!

关于java - 我们有 Python 中已检查和未检查异常的概念吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63735271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com