一个小白的网安学习之路之Python入门四:Python异常处理

Python异常处理

bug常见类型

  • 语法错误SyntaxError
    • "==”比较运算符和”=”赋值运算符的混用
    • 漏了末尾的冒号,如if语句,循环语句,else子句等
    • append()方法的使用掌握不熟练,append()只能加一个
    • 写的过程中可以继续添加……
  • 越界问题
    • 索引越界IndexError
    • 除数为0

异常处理

  • try…except…结构

    try:
    	n1=int(input(’请输入一个整数:'))
    	n2=int(input(’请输入另一个整数:'))
    	result=n1/n2
    	print('结果为:', result)
    except ZeroDivisionError :
    	print('除数不能为0哦!!!')
    
  • 多个except结构

    捕获异常的顺序按照先子类后父亲类的顺序,为了避免遗漏可能出现的异常,可以在最后增加BaseException

    try:
    	n1=int(input(’请输入一个整数:'))
    	n2=int(input(’请输入另一个整数:'))
    	result=n1/n2
    	print('结果为:',result)
    except ZeroDivisionError:
    	print('除数不能为0哦!! !')
    except ValueError :
    	print('不能将字符串转换为数字')
    except BaseException as e :
    	print(e)
    
  • try…except…else结构

    如果try块中没有抛出异常,则执行else块,如果try中抛出异常,则执行except块

    try:
    	n1=int(input(’请输入一个整数:'))
    	n2=int(input(’请输入另一个整数:'))
    	result=n1/n2
    except BaseException as e:
    	print('出错了')
    	print(e)
    else:
    	print('结果为:',result)
    
  • try…except…else…finally结构

    finally块无论是否发生异常都会被执行,能常用来释放try块中申请的资源

    try:
    	n1=int(input('请输入一个整数:'))
    	n2=int(input(’请输入另一个整数:'))
    	result=n1/n2
    except BaseException as e :
    	print('出错了')
    	print(e)
    else:
    	print(’结果为:', result)
    finally:
    	print(’无论是否产生异常,总会被执行的代码')
    print('程序结束')
    

常见的异常类型

  • 见下图

    在这里插入图片描述

打印异常信息

  • 使用traceback模块打印异常信息

    import traceback
    try:
    	print(' 1.——--------')
    	num=10/0
    except:
    	traceback.print_exc () #打印异常信息
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值