我在书中有这个例子,但它在我的python 3.3中不起作用
x = 'item found'
def search():
raise x or return
try:
search()
except x:
print('exception')
else:
print('no exception')
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么?
简单:return是一种陈述,而不是一种表达.声明必须按照自己的方式出现.raise它也是一个声明,它期望它的表达式来评估要引发的异常,但是声明都x没有return满足.
就目前而言,这条线完全是胡说八道.它不是有效的Python.
相反,Python解析器会将此代码标记为无效,并为整个文件引发SyntaxError异常.实际上不会运行文件中包含的代码:
File "demo.py", line 4
raise x or return
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |