异常(2)
大多数情况下用except Exception as e 去检查异常对象,也会让Exception之外的错误成为漏网之鱼,因为还有Exception的超类。
可以在try/except语句中加入else来作为正确检查。
try:
print("I'm right!")
except:
print("No! You are wrong!")
else:
print("Yeah! Your are right")
运行代码的结果将是:
I’m right!
Yeah! Your are right!
还有在else语句后面使用break语句,在未引发异常时,跳出循环。
还有和try配套的finally语句,四种语句可以同时使用:
try:
1/0
except NameErroe:
print("Unknown variable")
else:
print("That went well")
finally:
print("Cleaning up")
raise用来引发异常,并将一个类或者实例作为参数。
异常和函数有着很大的联系,一旦异常未得到处理,将直接向上传播,直至主程序,最后程序终止。
python当中很强调可读性,很多操作if/else语句可以代替try/except,但是前者是需要先行判断,再去处理。而编程理念为直接去做,有问题再处理,不需要预先大量检查,所以更加倾向于使用try/except语句。
其他的,刚开始打代码的时候,经常会有错误显示非法的空格,一般子句落后于前一句4个空格。还有使用多个“”或者’‘的时候,可以借助转义字符\。