考虑执行流时,Exception与异常相反?

时间:2018-11-15 22:48:26

标签: python exception terminology

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

请考虑以下内容:

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')
  • 在这种情况下,是否存在“ exception ”的反义词?
  • 是否真的可以将其称为“ 成功”,而将上一个块“ not ”称为“ 成功”?
  • 我们最好的是 吗?

这两个路径都可以用于最终成功的代码块,并且堆栈中较高的函数可能不知道正在发生的异常,因此我主要对这种局部性感兴趣……当特定的块em>可以引发(并可能处理)异常不会...

2 个答案:

答案 0 :(得分:2)

  • 在这种情况下,“ exception”是否存在反义词?

不是。我们假设“默认”是一切正常。毕竟,例外是例外。

  • 这真的可以称为“成功”,而前面的代码块不称为“成功”吗?
  • 这两个流程难道不是最终成功流程的一部分吗?

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

  • 我们最好的是“没有例外”吗?

这对我来说听起来很合理。

答案 1 :(得分:1)

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")