Python基础3——异常

11 异常

11.1 异常种类

异常种类 没必要记,不懂的话直接去百度即可

  • AttributeError 试图访问一个对象没有的属性
  • IOError 输入、输出异常
  • ImportError 无法引入模块或者包
  • IndentationError 语法错误,代码缩进问题
  • IndexError 数组越界
  • KeyError 字典中不存在的键
  • KeyboardInterrupt 按Ctrl+C异常中止
  • NameError 使用一个还没赋予对象的变量
  • SyntaxError 语法错误
  • TypeError 传入对象类型和期望的不符合
  • ValueError 传入一个调用者不期望的值

10.2 异常捕获

基本语法

1try: 2 检测的代码块 3except: 4 如果检测到异常,就执行这个位置的代码 5

例子:

1try: 2 a 3except: 4 print("这个是错误的!!!")

例子2:

1try: 2 a 3except NameError: #捕获特定的异常,只捕获NameError,其他的不捕获 4 print("捕获到NameError")

例子3:

1try: 2 a 3except NameError as e: #e是一个别名 4 print(e) #打印异常信息 5

例子4:捕获所有异常

1try: 2 a 3except Exception as e: 4 print(e) 5

10.3 异常捕获-else用法

else在没有异常的时候才会执行

1try: 2 a = 1/0 3except Exception as e: 4 print(e) 5else: 6 print("没有异常,才会打印") 7

10.3 异常捕获-finally 用法

finally无论是否有异常都会执行代码

1try: 2 a = 1/0 3except Exception as e: 4 print(e) 5else: 6 print("没有异常,才会打印") 7finally: 8 print("无关有没有异常,这个都会执行") 9

10.4 抛出异常

raise 编写的时候,根据情况抛出异常

步骤:

  1. 创建一个Exception(‘异常提示信息‘)对象
  2. raise抛出这个对象(异常对象)
1# 主动抛出一个异常 2raise Exception('炒年糕没有放油') 3
1 2def funa(): 3 raise Exception('这是异常信息') 4 print("这条语句无法输出") 5funa() 6

10.5 自定义异常类

<font color="red">注!请学习面向对象后再看</font>

1try: 2 a = 1/0 3except Exception as e: 4 print("捕获到异常") 5
1# 自定义异常类,需要继承Exception类 2class HelloError(Exception): 3 def __init__(self): 4 print("这是自定义异常类") 5 6try: 7 n = input("请输入数字:") 8 if n.isalpha(): 9 raise HelloError() #抛出异常 10except HelloError as e: 11 print(e) 12 13
1 2class InputError(Exception): 3 # 自定义异常类型的初始化 4 def __init__(self,val): 5 self.val = val 6 # 返回异常类对象的描述信息 7 def __str__(self): 8 return f'{self.val} is invalid input' 9 10try: 11 raise InputError("输入的异常参数") 12except InputError as e: 13 print(e) 14
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

微信小程序new Date()转换时间异常问题

微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT

python中的异常处理

异常异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下异常种类  在python中不同的异常可以用不同的类型(python

python 异常处理 try except

什么是异常异常就是程序运行时发生错误的信号,程序随即发生终止行为常见的异常有哪些AttributeError试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError输入/输出异常;基本上是无法打开文件ImportError无法引入模块或包;基本上是路径问题或名称错误IndentationEr

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''