相关疑难解决方法(0)

在Python中使用try-except-else是一个好习惯吗?

在Python中,我不时会看到块:

try:
   try_this(whatever)
except SomeException as exception:
   #Handle exception
else:
   return something
Run Code Online (Sandbox Code Playgroud)

try-except-else存在的原因是什么?

我不喜欢那种编程,因为它使用异常来执行流控制.但是,如果它包含在语言中,那么必须有充分的理由,不是吗?

我的理解是,异常不是错误,它们只应用于特殊情况(例如我尝试将文件写入磁盘,没有更多空间,或者我没有权限),而不是流程控制.

通常我将异常处理为:

something = some_default_value
try:
    something = try_this(whatever)
except SomeException as exception:
    #Handle exception
finally:
    return something
Run Code Online (Sandbox Code Playgroud)

或者如果我真的不想在发生异常时返回任何内容,那么:

try:
    something = try_this(whatever)
    return something
except SomeException as exception:
    #Handle exception
Run Code Online (Sandbox Code Playgroud)

python exception-handling exception try-catch

400
推荐指数
8
解决办法
22万
查看次数

Python使用异常控制流被认为是坏的?

行,

我过去曾多次看过这个,但最近我的问题在这里.所以,我很好奇为什么会这样,在python中,因为生成器使用异常来指示数据的结束.

如果对于每个使用python的人都这么糟糕,为什么语言将它包含在被认为是基本控制结构的内容中呢?对于那些想要阅读相关PEP的人,请访问此处.

python generator try-catch

19
推荐指数
1
解决办法
7746
查看次数