代码之家  ›  专栏  ›  技术社区  ›  Attie

在考虑执行流时,异常的反面是什么?

  •  0
  • Attie  · 技术社区  · 6 年前

    我已经贴上标签了 因为这就是我正在使用的,可能有特定的术语围绕着它,但如果这个问题也适用于其他语言,我不会感到惊讶。

    考虑以下事项:

    try:
      raise Exception()
    except Exception as e:
      print('oh no')
    
    print('done')
    

    在这里,我们可以这样说“ 提出了一个例外 “,或者在 print('oh no')

    我们用什么术语来讨论以下流程(当没有异常发生时)

    try:
      pass
    except Exception as e:
      print('oh no')
    
    print('done')
    
    • “有反义词吗?” 例外 “在这种情况下?
    • 这真的可以称之为"吗? ,与上一个块一起使用 称为“ 成功的 "?
    • “这是我们最好的” 无一例外 "?

    能够 引发(并可能处理)异常不会。。。

    2 回复  |  直到 6 年前
        1
  •  2
  •   dtauxe    6 年前

    不是真的。我们假设“默认”是一切都运转良好。例外毕竟是例外。

    • 难道两个流都不能成为最终成功流的一部分吗?

    这两者都取决于一个事实,即例外的不同用法有不同的目的——因此“成功”的含义也不同,即使在同一个程序中也是如此。例如:我们想要读取一个文件,或者如果它不存在,就创建它。因此,您尝试打开一个不存在的文件,这会引发异常。打开该文件时“不成功”,但这只是意味着我们需要创建它。由于这是我们打算做或打算已经发生的事情,程序仍然可以成功退出。

    • 我们最好的是“毫无例外”吗?

        2
  •  1
  •   Joran Beasley    6 年前
    try:
      pass
    except Exception as e:
      print('oh no')
    else:
      print("No worries! nothing was excepted!!! :)")
    finally:
      print("This will always print!! regardless of exception!... even if you return from inside the try/except/or else")