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

Python:在__init__中引发异常是否不好?

卫俊力
2023-03-14
问题内容

在其中引发异常是否被认为是不好的形式__init__?如果是这样,那么当某些类变量初始化为None错误类型或类型错误时,可以接受的引发错误的方法是什么?


问题答案:

在内部引发异常__init__()是绝对可以的。在构造函数中没有其他好的方法来指示错误情况,并且标准库中有数百个示例,在这些示例中构建对象会引发异常。

当然,要提高的错误级别取决于您。ValueError如果向构造函数传递了无效的参数,则最好。



 类似资料:
  • 我对从JBPM工作项处理程序抛出异常并在业务流程的其他地方处理异常的主题有点困惑。我们使用JBPM 6.0.3在Jboss EAP 6.1中运行。 JBPM用户指南暗示您永远不应该从WorkItemHandler中抛出异常。相反,处理程序应该捕获它们并以某种方式处理它们,或者将它们转换为错误消息、信号或类似信息。JBPM甚至提供了工作项处理程序包装器,用于捕获信号并将它们转换为消息。用户指南中没有

  • 问题内容: 检查表是否存在于MySQL中(最好通过PHP中的PDO)而不抛出异常的最佳方法是什么。我不喜欢解析“ SHOW TABLES LIKE”等的结果。必须有某种布尔查询吗? 问题答案: 我不知道它的PDO语法,但这看起来很简单:

  • 问题内容: 我想知道只有Integer.parseInt(无论如何)都不会失败的情况下才能做些什么。 更具体地说,我有一个jTextArea用户指定值,由换行符分隔。 我想检查每一行,看看是否可以转换为整数。 想出了类似的东西,但是不起作用: 任何帮助表示赞赏。 问题答案:

  • 问题内容: 有谁知道是否存在可以测试被测代码中是否抛出异常的或类似东西? 问题答案:

  • 我正尝试在类的方法中使用(以支持拖放)。我想显示我拖动的文件的导入进度。然而,它并不起作用。我不明白问题是什么,或者是什么引起的。 例外情况:

  • 问题内容: 如何在Python中引发异常,以便以后可以通过except块将其捕获? 问题答案: 在你的消息中要具体,例如: 不要引发通用异常 避免提出泛型。要捕获它,你必须捕获将其子类化的所有其他更具体的异常。 问题1:隐藏错误 例如: 问题2:无法抓住 而且更具体的捕获不会捕获一般异常: 最佳做法:raise声明 而是使用在语义上适合你的的最特定的构造函数。 这也方便地允许将任意数量的参数传递给