python raise之后还能return吗
时间: 2023-07-20 12:35:16 浏览: 432
Python新手学习raise用法
当使用 raise 抛出异常时,程序会立即退出当前函数并且不会再执行该函数后面的代码。因此,在 raise 抛出异常后,该函数中的 return 语句将不会被执行。但是,可以在异常处理块中使用 return 语句来返回一个值。例如:
```
def divide(x, y):
try:
result = x / y
except ZeroDivisionError:
print("division by zero!")
return None
else:
print("result is", result)
return result
```
在上面的代码中,如果 y 的值为 0,则会抛出 ZeroDivisionError 异常并执行 except 块中的代码。此时,return None 语句将被执行,返回 None 值。如果没有异常发生,则 else 块中的代码将被执行,并且函数将返回 result 值。
阅读全文