【问题标题】:Why does 'raised Error' work, but 'assert' doesn't?为什么“引发错误”有效,而“断言”无效?
【发布时间】:2019-06-10 12:38:48
【问题描述】:

我使用assert和引发ValuError有区别,为什么?

以下代码,只在我使用raise ValueError时停止我的脚本,assert不起作用。

assert (len(dictA) != len(dictB)), 'Your have an .... error'

if len(dictA) != len(dictB):
    raise ValueError('Your have an ... error')

【问题讨论】:

标签: python assert raiseerror


【解决方案1】:

你需要使用

assert (len(dictA) == len(dictB))

条件评估为 False 时引发错误。

【讨论】:

  • 谢谢费利佩。你介意解释一下在这种情况下哪个(assert 或 valueerror)更好用吗?
  • 取决于您的用例。检查这个问题的接受答案stackoverflow.com/questions/40182944/…
猜你喜欢
  • 2015-09-02
  • 2020-03-09
  • 2011-07-05
  • 2012-01-15
  • 2013-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多