当前位置: 首页 > 面试题库 >

仅加薪的例外有任何用处吗?

郑正阳
2023-03-14
问题内容

例如,这是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/djanhtml" target="_blank">go/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

由于UnicodeDecodeError是的子类ValueError,因此第二个异常处理程序将导致UnicodeDecodeError忽略任何异常。看起来这不是预期的效果,为避免这种情况UnicodeDecodeError,第一个处理程序将对其进行显式处理。因此,两个处理程序一起使用时ValueError,只有a不是时,才会忽略UnicodeDecodeError



 类似资料:
  • 我是一名计算机科学专业的学生,我的大学有一个ACM编程竞赛俱乐部。我刚开始在那里工作,我正在解决一个问题。当我运行这个程序时,它运行得很好,不会产生任何异常。然而,当我在运行测试和其他东西的网站上提交它时,它会给我: 应用程序中出现异常: 线程“main”java中出现异常。util。NoSuchElementException:在java中找不到行。util。扫描仪。nextLine(Scann

  • 我有一个活动,我们称之为,它有一个。在适配器的代码中 当实际单击editOptionButton时,我得到以下堆栈跟踪 因此,我不知道为什么会出现这个错误,也不知道我能做什么。你们中有谁可能知道为什么或者以前经历过吗?

  • 我有一个应用程序正在尝试调用一个服务,而另一个服务似乎正在超时。问题是我的应用程序没有收到任何超时异常,尽管我确实看到控制台上打印出一个错误: 客户端是使用以下设置创建的: 的值为20000,我已经验证了它的设置是否正确。 捕捉服务调用的代码如下所示: 即使我更改了我的块来捕获任何内容,我仍然没有捕获任何异常。WebSphere检测到事务超时,但我不知道为什么应用程序在web服务调用中没有检测到超

  • Mike Murray, a surprisingly hapless HR manager at Microsoft, made a number of goofs, but the doozie was introducing a "Ship It" award shortly after he started the job. The idea was that you would get

  • 我使用Jersey 2.10异常映射器类来处理异常。我想返回错误状态和错误信息的JSON正文。我想得到类似的回应: Jersey没有在响应中发送JSON正文。我得到的是: 如果我将状态代码更改为200,那么我将获得预期的响应正文 请帮我找出这个问题的解决方案。 异常映射器在错误对象中填充错误消息和状态。以下是异常映射程序代码: 这是来自错误对象的代码:

  • 我将Java1.8JDK作为Java_主页,并尝试在本地安装WebLogic12c。 但是不能打开fmw*. jar文件。 我的日志, C: C: