python异常(黑马学习笔记)

一、捕获异常

1.说明

通过语法来获取到解释器抛出的异常

2. 什么时候需要捕获?

当我们不确定语句是否在执行的时候会有错误的时候

3. 基本的语法:

try:
	代码块1
except:
	代码块2

4.例子

try:
    num = int(input("请输入一个整数:"))
except:
    print("请输入正确的整数")

print("*"*50)

二、根据错误的类型捕获异常

1.语法

try:
	代码块1
except 错误类型1 (as 重命名1) :
	代码块2
except 错误类型2 (as 重命名2):
	代码块3
......

注意:小括号里面的语句可以省略,一般情况下为了对错误类型的一系列的操作才会用as语句

2.例子

try:
    num = int(input("请输入一个整数:"))
    result = 8 / num

    print(result)
except ValueError:
    print("num必须是整数")
except Exception as results:
    print("未知错误 %s" %(results))

三、异常捕获完整语法

1.语法

try:
	代码块1
except 错误类型1 (as 重命名1) :
	代码块2
except 错误类型2 (as 重命名2):
	代码块3
......
else:
	#没有异常的时候执行下面的代码块
	代码块
finally:
	#无论是否有异常都会执行,下面的代码块
	代码块

2.相关的图示

在这里插入图片描述

3.例子

try:
    num = int(input("请输入一个整数:"))
    result = 8 / num

    print(result)
except ValueError:
    print("num必须是整数")
except Exception as results:
    print("未知错误 %s" %(results))
else:
    print("尝试成功!!!")
finally:
    print("无论成功与否都会执行的代码是我!!!")

print("*"*50)

四、异常的传递

当函数/方法在执行的时候出现异常,会将异常传递给函数/方法的调用的一方如果传递到主程序,仍然没有处理,程序才会被抛出异常和终止

五、主动抛出异常

1.语法

Python 中提供了一个 Exception 异常类
在开发时,如果满足特定业务需求时,希望抛出异常,可以:
1.创建一个Exception类的对象
2.使用raise关键字抛出异常对象

2.例子

def input_password():

    # 提示用户输入密码
    pwd = input("请输入密码:")

    # 判断密码的长度 >= 8,返回用户输入的密码
    if len(pwd) >= 8:
        return  pwd

    # 如果 < 8 主动抛出异常
    print("主动抛出异常")
    # 创建异常对象
    ex = Exception("密码长度不够") #当发现此异常时给出的提示是密码长度不够
   
    # 主动抛出异常
    raise  ex

# 提示用户输入密码
try:
    print(input_password())
except Exception as result:
    print(result)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值