python 异常处理

1. bug

2. 异常处理 - try

【1】

# 可能出现异常的代码
try:
    num1 = int(input('整数:'))
    num2 = int(input('整数:'))
    result = num1 /num2
    print('结果:',result)
except ZeroDivisionError: #被0除
    print('除数为0')
except ValueError:
    print('输入数字')
except BaseException:
    print('未知异常')

---
测试:
整数:10
整数:0
除数为0
----
整数:a
输入数字

【2】

try:
    num1 = int(input('整数:'))
    num2 = int(input('整数:'))
    result = num1 /num2

except ZeroDivisionError:
    print('除数为0')
except ValueError:
    print('输入数字')
except BaseException:
    print('未知异常')
else:
    print('结果:',result)

-----------------------------------------------------
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('over')

3. 异常处理 - raise

  • raise
    • 抛出一个异常,从而提醒程序出现异常情况,程序能够正确地处理这些异常情况
  • raise关键字语法结构:
    • raise [Exception类型(异常描述信息)]
try:
    gender=input('性别:')
    if gender != '男' and gender != '女':
        raise Exception('性别只能是男和女')
    else:
        print('您的性别:',gender)
except Exception as a:  #异常对象别名a
    print(a)

--------------------------------------------
# 分数异常处理
try:
    score=int(input("成绩:"))
    if score < 0 or score > 100:
        raise Exception('分数不正确')
    else:
        print(score)
except ValueError:
    print (" input num")
except Exception as a:
    print(a)

常见异常类型


#(1)ZeroDivisionError
#print(10/0)
#(2)IndexError
# lst=[10,20,30]
# print(lst[4])
#(3)KeyError
# d = {'name':'a','age':20}
# print(d['gender'])
#(4)NameError
# print(hello)
#(5)SyntaxError
# print('nihao)
#(6)ValueError
# print(int('a'))
#(7)AttributeError 属性或方法名异常
# i = 10
# print(i.name)
#(8)TypeError
# print('hello'+123)
#(9)IndentationError 缩进异常
    # print("a")

4. PyCharm 调试

  • 断点

  • 进入调试

  • 开始调试


总结:


posted @ 2025-03-09 15:51  kyle_7Qc  阅读(16)  评论(0)    收藏  举报