个人技术分享

目录

一、掌握不同异常类型的处理方式

二、掌握Python的异常处理机制

总结


一、掌握不同异常类型的处理方式

  • 解决思路不清导致的问题:

1.使用print()函数

2.使用“#”暂时注释部分代码

  • 代码逻辑没错,用户操作不正确导致的错误,使用异常处理机制

二、掌握Python的异常处理机制

  • try...except的语法结构为:

try:

    可能会抛出异常的代码

except 异常类型:

    异常处理代码(报错后执行的代码)

try:
    num1 = int(input('请输入一个整数:'))
    num2 = int(input('请输入另一个整数:'))
    result = num1 / num2
    print('结果:',result)
except ZeroDivisionError:
    print('除数为0')
  • try...except...except的语法结构为:

try:

        可能会抛出异常的代码

except 异常类型A:

        异常处理代码(报错后执行的代码)

except 异常类型B:

        异常处理代码(报错后执行的代码)

try:
    num1 = int(input('请输入一个整数:'))
    num2 = int(input('请输入另一个整数:'))
    result = num1 / num2
    print('结果:',result)
except ZeroDivisionError:
    print('除数不能为0')
except ValueError:
    print('不能将字符串转成整数')
except BaseException:
    print('未知异常')
  • try...except...else的语法结构为:

try:

        可能会抛出异常的代码

except 异常类型:

        异常处理代码(报错后执行的代码)

else:

        没有抛异常要执行的代码

try:
    num1 = int(input('请输入一个整数:'))
    num2 = int(input('请输入另一个整数:'))
    result = num1 / num2
    
except ZeroDivisionError:
    print('除数不能为0')
except ValueError:
    print('不能将字符串转成整数')
except BaseException:
    print('未知异常')
else:
    print('结果:',result)
  • try...except...else...finally的语法结构为:

try:

        可能会抛出异常的代码

except 异常类型:

        异常处理代码(报错后执行的代码)

else:

        没有抛异常要执行的代码

finally:

        无论是否产生异常都要执行的代码

try:
    num1 = int(input('请输入一个整数:'))
    num2 = int(input('请输入另一个整数:'))
    result = num1 / num2

except ZeroDivisionError:
    print('除数不能为0')
except ValueError:
    print('不能将字符串转成整数')
except BaseException:
    print('未知异常')
else:
    print('结果:',result)
finally:
    print('程序执行结束!')

raise抛出一个异常,从而提醒程序出现了异常情况,程序能够正确地处理这些异常情况

raise关键字的语法结构为:

raise[Exception类型(异常描述信息)]

try:
    gender=input('请输入您的性别:') 
    if gender!='男'and gender!='女':
        raise Exception('性别只能是男或女')
    else:
        print('您的性别是:',gender)
except Exception as f:
    print(f)

Python中常见的异常类型

异常类型 描述说明
ZeroDivisionError 当除数为0时,引发的异常
IndexError 索引超出范围所引发的异常
KeyError 字典取值时Key不存在的异常
NameError 使用一个没有声明的变量时引发的异常
SyntaxError Python中的语法错误
ValueError 传入的值错误
AttributeError 属性或方法不存的异常
TypeError 类型不合适引发的异常
IndentationError 不正确的缩进引发的异常

总结

异常处理机制:

  • try...except
  • try...except...except
  • try...except...else
  • try...except...else...finally

Pycharm的调式模式

  • 设置断点
  • 单步运行
  • 观察变量
  • 查找问题
  • 重新调试,直至问题解决