gpt4 book ai didi

python - 只加薪的异常(exception)有什么用吗?

转载 作者:太空狗 更新时间:2023-10-30 01:40:17 25 4
gpt4 key购买 nike

例如,这里有一些来自 django.templates.loader.app_directories.py.[1] 的代码

try:
yield safe_join(template_dir, template_name)
except UnicodeDecodeError:
# The template dir name was a bytestring that wasn't valid UTF-8.
raise

如果您捕获异常只是为了重新引发它,它有什么用?

[1] http://code.djangoproject.com/browser/django/trunk/django/template/loaders/app_directories.py

最佳答案

在您链接到的代码中是另一个额外的异常处理程序:

try:
yield safe_join(template_dir, template_name)
except UnicodeDecodeError:
# The template dir name was a bytestring that wasn't valid UTF-8.
raise
except ValueError:
# The joined path was located outside of template_dir.
pass

UnicodeDecodeErrorValueError 的子类,第二个异常处理程序将导致任何 UnicodeDecodeError 被忽略。看起来这不是预期的效果,为了避免它,UnicodeDecodeError 由第一个处理程序显式处理。因此,如果 ValueError 不是 UnicodeDecodeError,则两个处理程序一起使用时才会被忽略。

关于python - 只加薪的异常(exception)有什么用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1774792/

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