考虑执行流程时,异常的反面是啥?
Posted
技术标签:
【中文标题】考虑执行流程时,异常的反面是啥?【英文标题】:What is the opposite of an Exception when considering execution flow?考虑执行流程时,异常的反面是什么? 【发布时间】:2019-04-19 02:48:24 【问题描述】:我标记了python,因为这是我正在使用的,并且可能有特定的术语,但如果这个问题也适用于其他语言,我不会感到惊讶。
考虑以下几点:
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”是否有反义词?
这真的可以称为“成功”,而前一个区块不称为“成功”吗?
我们拥有最好的“无一例外”吗?
这两种路径都可以用于最终成功的代码块,堆栈中更高的函数可能不知道正在发生的异常,所以我主要对这个位置感兴趣......当一个特定的块 可以引发(并且可能处理)异常不...
【问题讨论】:
不要忘记,一段代码可能会在其中引发异常,但它们会被成功处理(无论是由自身还是在堆栈中更远的位置),这意味着它可以继续并成功完成其任务,即使得到一路上比预期的要棘手...... 我认为您正在确认我的“两个流程都不能成为最终成功流程的一部分吗?”问题......这很好。我将添加单词以将范围限制为“本地”代码。 我认为这个问题与语义有关。在搜索词库中的反义词之前,我建议 expected 是 exception 的反义词:thesaurus.com 建议,除其他外(我的未列出),“正常”。为了与争论的语义保持一致,我想说一个人可以成功处理异常。但是,根据定义,异常是意料之外的事情,应该被认为是“不成功的”。 @AndrewFalanga:从语义上讲,它可能是“初始”。 【参考方案1】: 在这种情况下,“异常”是否有反义词?不是真的。我们假设“默认”是一切运行良好。毕竟,例外是例外。
这真的可以称为“成功”,而前一个区块不称为“成功”吗? 难道这两个流程都不能成为最终成功流程的一部分吗?这两者都取决于这样一个事实,即异常的不同用法具有不同的目的——因此“成功”的不同含义,即使在同一个程序中也是如此。例如:我们想读取一个文件,如果它不存在就创建它。因此,您尝试打开一个不存在的文件,这会引发异常。打开该文件是“不成功的”,但这只是意味着我们需要创建它。由于这是我们打算或打算发生的事情,因此程序仍然可以成功退出。
“无一例外”是我们拥有的最好的吗?对我来说这听起来很合理。
【讨论】:
【参考方案2】: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")
【讨论】:
以上是关于考虑执行流程时,异常的反面是啥?的主要内容,如果未能解决你的问题,请参考以下文章