Python中如何不用def,exec,compile在表达式内捕捉任意异常?
2024-11-23 阅读 7
在表达式内捕捉任意异常,可以使用try-except语句块来实现。例如,可以使用lambda表达式结合try-except来捕捉异常,如下所示:
```python
result = (lambda x: x if x % 2 == 0 else "Error") (5)
```
在这个例子中,lambda表达式用来判断一个数是否为偶数,如果是偶数则返回该数,否则返回字符串"Error"。如果表达式中的代码出现异常,可以在lambda表达式中添加try-except语句块来捕捉异常,如下所示:
```python
result = (lambda x: x if x % 2 == 0 else "Error") (0)
```
这样,如果输入的数为0,由于0不能被2整除,会触发ZeroDivisionError异常,但是通过lambda表达式中的try-except语句块,可以捕捉到该异常并返回"Error"字符串。
更新于 2024年11月25日