python发生异常后的输出

 #!/usr/bin/python
# -*- coding: UTF-8 -*-

# 定义函数
def mye( level ):
    if level < 1:
        raise Exception("Invalid level!", level)
        # 触发异常后,后面的代码就不会再执行

try:
    mye(0)              
except "Invalid level!":
    print 1
else:
    print 2

为什么发生异常后不输出‘1’呢?

https://segmentfault.com/q/1010000007710250
在这里看到了一模一样的问题…………
答案就是语法错误,python的异常捕捉一般是写作:

 except Exception ,e:
     print e

try...except... 语句,except 后面的异常必须是可能出现的异常,不是你随便定义的,你可以不加这个语句运行,看看系统提示什么异常,你在except 后面加这个异常就可以了:
图片说明