python之异常处理

如果你对python感兴趣,给你几点小小的建议:

1.做事要对自己有信心,学习python也一样,给自己信心,你能行
2.学习要讲究方法,自己动手敲代码实践才是重中之重
3.学习知识,不要盲目毫无目标,没有计划,一定要制定自己的学习路线和计划,大的方面
要系统学习,小的方面要分块学习

1.错误和异常:

			异常执行顺序:
					try:
						 f = open('dongnao.txt')
						 print('没有发生异常')
					except Exception as e:          #所有异常类的父类
						print('发生了异常')
					else:                        #必须在finally前面
						print('没有发生异常')
					finally:                    #不管有没有异常都执行
						print('都执行')

2.常见异常的种类:

	 常见异常类型:
	 			  IndentationError: unexpected indent   缩进错误
				1.NameError: print(name)  #name没定义异常
				2.ZeroDivisionError: 5 / 0   除数不能为0异常
				3.SyntaxError: python解释器语法错误: for
				4.IndexError: a_list = [1, 2]print(a_list[4])   #索引异常
				5.KeyError: a_dict = {‘name’:’tom’, ’age’:22} print(a_dict[‘sex’])  #找不到key异常
				6.IOError: 输入输出错误:f = open(‘homework.py’)    #无文件异常
				7.AttributeError: 位置属性异常

3.异常怎么处理:

						def fun1():
						    f = open('dong.txt')
						    print('看看有没有执行')
						def fun2():
						    x = 9/0       # 这里换下位置看看
						    fun1()
						try:
						    fun2()
						except ZeroDivisionError as e:       
						    print('被0除')
						    print(e)
						except IOError as e:
						    print('IO异常')
						    print(e)
			# raise关键字:   #抛出异常,异常抛出后下面的将不被执行
						try:
						   x = 9 / 0
						except Exception as e:
						   print('发生了异常')
						   print(e)
						   raise ZeroDivisionError('大哥,被0除异常')

4.自定义异常:

					# import sys
					# class MyError():   #实例对象
					#     def __init__(self,message):
					#         self.message = message  #左边message是属性,右边传递进来值
					#     def __str__(self): #直接打印这个对象--自动去调用这个函数
					#         print(self.message)
					# def main():
				    #     try:
					#         if len(sys.argv) == 1:
					#             raise MyError('参数的个数少了')   #构造了我自定义异常的实例对象
					#     except Exception as e:
					#         print(e)   #直接打印对象--自动去调用__str__魔法方法
					#         print(1111)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值