Python知识点15---异常

发布于:2024-06-05 ⋅ 阅读:(95) ⋅ 点赞:(0)

提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。

Python本身拥有处理异常的方式,和Java一样的try

try:
	可能发生问题的代码
except 异常类型 :
	发生问题时执行的代码

如果你要获得异常类型有多个,那么可以写成如下的格式

try:
	可能发生问题的代码
except (异常类型1,异常类型2,.......) as result :
	发生问题时执行的代码
except :
	一般会写一个没有异常类型的捕获,用来预防没有发现的异常类型

或者

try:
	可能发生问题的代码
except 异常类型1 :
	发生问题时执行的代码
except 异常类型2 :
	发生问题时执行的代码
except :

这样写的时候会把捕获的异常包装成result元组

当然你可以一次性捕获所有的异常

try:
	可能发生问题的代码
except Exception as result :
	发生问题时执行的代码

Python在异常处理方面,还可以支持else,作用是没有捕获到异常的时候执行的代码

try:
	可能发生问题的代码
except Exception as result :
	发生问题时执行的代码
elseprint('没有异常')

还支持finally,无论是否有异常都会执行

try:
	可能发生问题的代码
except Exception as result :
	发生问题时执行的代码
finally :
	print('')

Python还支持自定义异常类

class Myc(Exception):
	def __init__(self,len,m_len):
		self.length = len
		self.min_len = m_len
		
	def __str__(self):
		return '输入的密码长度为'+str(self.length)+'---系统要求最低为'+str(self.min_len)
	
def main():
	try :
		a = input('输入密码')
		if len(a) < 3 :
			raise Myc(len(a),3)
	except Exception as result:
		print(result)
		
main()

结果:
输入密码12
输入的密码长度为2---系统要求最低为3