Python3异常处理, raise异常,自定义异常类

  1. 常见的异常处理语法格式:
    else 和finally 非必须
try:
    尝试执行某个操作
    如果没有异常,操作完成
    如果发生异常,捕捉并尝试解决异常

except 异常类a as e:  # e 是一个变量,记录异常类的信息,通常是Exception
    如果发生异常a,执行尝试处理异常a的操作
except 异常类b as f:   # 可以定义一个或多个except 语句
    如果发生异常a,执行尝试处理异常a的操作
except (异常类c, 异常类d) as h:
    如果多个发生异常,执行尝试处理多个异常的操作
else:
    如果没有发生异常,执行的操作
finally:
    无论如何都要执行的操作
  1. 主动抛出一个异常,定义异常信息内容:
    raise NameError([str]) : raise 异常类型(异常参数)
    通过raise 引发异常时,raise 后面的操作将不会被执行
def number():
    a = int(input('Plase input a number: '))
    b = int(input('Plase input a number: '))
    if a < b:
        raise Exception("a < b")
    print("a is larger than b")  # 如果a<b则不执行该语句

try:
    number()
except Exception as e:
    print(e)
  1. 自定义异常类
class InputError(Exception):    # 创建一个新的exception类来抛出自己的异常。
    # 异常应该继承自 Exception 类,包括直接继承,或者间接继承
    def __init__(self, errorinfor):
        self.error = errorinfor
       
    def __str__(self):
        return self.error

def score():
    grade = int(input('你的成绩是:'))
    if grade <= 0 or grade >= 150:
        raise InputError('考试分数只能在0-150')
try:
    score()
except InputError as e:
    print(e)

常见异常类信息:
在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值