Python基础——异常

异常处理

概念:Python使用称为“异常”的特殊对象来管理程序执行期间发生的错误

代码块:try - except

  1. ZeroDivisionError异常:(除以0)
print("计算除法,输入q则退出")

while True:
    num1 = input("第一个数:")
    if num1 == "q":
        break
    num2 = input("第二个数:")
    if num2 == "q":
        break

    try:
        answer = int(num1) / int(num2)    #try包含可能出错的代码块
    except ZeroDivisionError:
        print("除数不可为0")               #except匹配异常类型
    else:
        print(answer)                    #else在无异常时执行

  1. FileNotFoundError: (文件找不到)
def count_words(filename):
    """计算一个文件中大致包含多少单词"""
    try:
        with open(filename, "r") as file:
            contents = file.read()
    except FileNotFoundError:
        print("文件不存在")
    else:
        words = contents.split()            #以空格分割文本,返回列表
        print("文件中大约有%d个单词" %len(words))

count_words("file.txt")
  1. 万能异常:Exception
try:
    代码块
except 异常1:
    异常1的解决办法
except 异常2:
    异常2的解决办法
except Exception:
    剩余的其他异常解决办法
  1. “一声不吭”:pass

用法:程序遇到 pass 什么也不做

try:
    print(5/0)
except ZeroDivisionError:
    pass

此时程序啥输出也没有,一声不吭

注意:
编写的很好的且详尽测试的代码不容易出现内部错误,如语法错误、逻辑错误,但只要程序依赖于外部因素,如用户输入、存在指定的文件、有网络链接等就可能出现异常!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值