【python基础】异常处理机制

一、异常处理

1、错误类型
ERROR异常:系统种的错误,发生的原因可能是系统崩溃,内存空间不足,建议让程序终止
Exception异常:表示程序可以处理的异常,可以捕获且可能恢复。这类问题可以处理。

2、错误提醒
可能的错误:

AttributeError .lOError . ImportError . IndexError、SyntaxError、TypeError、ValueError、KeyError、NameError。

常见的错误如下:

. IndentationError:缩进错误
. KeyboardInterrupt: Ctrl+C被按下
. UnboundLocalError :有同名的全局变量

3、举例

1print(a)  
NameError     名字错误,没有这个参数

2print(10/0)  
ZeroDivisionError: division by zero   除数不能为0

3with open('hello.txt') as f:
    pass
FileNotFoundError  文件错误,没有这个文件
    

二、异常处理机制

在这里插入图片描述

try:尝试去运行的程序
excepttry出问题了运行的代码(可以出现多个)
elsetry没有问题运行的程序
finally:无论什么情况都会运行的代码

举例
execpt是进行多选一的

try:                                 尝试运行
    a=1
    print(b)
except NameError as name_error:    如果名字错误则
    print('name_error')
except KeyError as key_error:      如果关键字错误则
    print('key_error')
except Exception as all_error:     如果有错误则
    print('all_error')
finally:                           最后统一执行
    print('结束')

三、触发异常

1、raise抛出异常

age = int(input('age:'))
if 0<age<150:
    print(age)
else:
    # 抛出异常
    raise ValueError("年龄必须在0~150之间")
#结果
输入100
ValueError: 年龄必须在0~150之间

2、自定义异常
通过自定义异常

# 自定义的异常
class AgeError(ValueError):                   自定义错误模块:AgeError,其属于ValueError类
    pass

age = int(input('age:'))
if 0<age<150:
    print(age)
else:
    # 抛出异常
    raise AgeError("年龄必须在0~150之间")
#结果
输入1000
AgeError: 年龄必须在0~150之间
``
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值