【问题标题】:Exception raises a TypeError异常引发 TypeError
【发布时间】:2019-12-08 21:27:55
【问题描述】:

我有一个关于 try-exception 语句的问题。这与提到的其他问题不同。因为我不需要finally语句...

我有例如以下代码:

try:
    #dosomething
except TypeError:
    #dosomething -> THIS GIVES A TypeError!

"..."

    #I_want_this_to_be_executed_if_the_previous_commands_are_not_working

如果except TypeError 也不起作用,我可以在引号之间填写什么以确保执行最后一条命令? (它也给出了一个 TypeError)

我不需要 finally 语句,因为它不需要总是执行,只有在异常也给出 TypeError 的情况下...

【问题讨论】:

  • 最后一次编辑:更简单的方法是将dosomething 放入函数中并执行for func in my_functions: try: func() except SomeException:pass...我应该说从不只使用except。始终指定要捕获的异常,即使它是 Exception
  • 如果明显的——嵌套的try 子句——由于某种原因是不可接受的,你可以在finally 中设置条件。
  • try: ... except TypeError: try: ... except TypeError: "..."…?!
  • except 子句中的另一个 try..except 将是显而易见的答案。如果您向我们展示有关您正在尝试做的事情的更多详细信息,我们或许可以提出更简洁的替代方案。
  • @deceze 这就是我需要的!非常感谢!我是你可能看到的初学者......

标签: python try-except


【解决方案1】:

只需添加:(编辑:不明白问题,cmets 是正确的)

try:
    #dosomething
except TypeError:
    try:
        #What you were going to do
    except TypeError:
        #Handle the second typeError

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-29
    • 2011-05-19
    • 2014-10-25
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 2013-08-02
    相关资源
    最近更新 更多