人生苦短

记录大学,记录生活,天道殷勤,请多关注!

人生苦短,我用Python!
大数据、机器学习、深度学习
  menu

异常处理

在Python里面可以使用try/except/finally语句来捕捉程序运行时产生的例外!
try语句块用来包含可能产生异常的代码块,若是产生异常则try块内的内容不执行,except块里的代码开始执行。若try块一切正常,则不执行except块里代码。但最终,不管try正常与否,finally块的内容都会无条件的执行。

try: 
	print(7/0) 
except ZeroDivisionError: 
	print("error by zero")
 finally: 
	print("this code will run")

当然,与if-elif-else类似,使用try语句可以拥有多个except定义语句来处理异常,而多个异常也可以使用一个except块来捕捉。

try:
    maybey = 8
    print(maybey/2)
    print (maybey+'i can')
except ZeroDivisionError:
    print("Divided by zero")
except(ValueError,TypeError):
    print('error')
finally:
    print("this code will not run")

值得注意的是,当except中没有声明要捕捉的意外,它将捕捉所有的意外。但是,这种方式会把编程错误隐藏,但一般在处理用户输入的时候使用。
认识finally。
两个例子:
第一个:

try: 
	print(1) 
except: 
	print(2) 
finally: 
	print(3)

第二个:

try: 
	print(1/0) 
except: 
	print(2) 
finally: 	
	print(3)

异常也可以自己声明抛出异常名称:

try: 、
	print(1/0) 
except ZeroDivisionError: 
	raise ValueError("分母为0,语法错误")
finally: 
	print(3)

也可以不用声明异常的名称就可以重新抛出捕捉到的异常:

try: 
	print(1/0) 
except ZeroDivisionError: 
	#print("分母为0,语法错误") 
	raise 
finally: 
	print(3)

标题:异常处理
作者:chenruhai
地址:http://www.love520.ltd/articles/2019/08/02/1564753084596.html
CSDN博客地址:https://blog.csdn.net/qq_42658739
GitHub地址:https://github.com/chenruhai

评论