IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python【第九天】异常处理 -> 正文阅读

[Python知识库]Python【第九天】异常处理

总体描述

内置的异常类:网页链接

  有时候代码写错了,执行程序的时候,执行到错误代码的时候,程序直接终止报错 
  这是因为Python检测到一个错误时,解释器就无法继续执行了,出现了错误的提示
  • 语法格式
try:
    可能出现错误的代码块
expect:
    【在此处尽量的去处理捕获到的错误】
    出错之后执行的代码块
else:
    没有出错的代码块
finally:
    不管有没有出错都执行的代码块
  • 常用的异常类

【BaseException】和【Exception】

try … except 语句

将可能出错的代码放到 try 里面,except 可以指定类型捕获异常。
except 里面的代码块是捕获到异常时执行的,将错误捕获
这样程序就不会因为一段代码包异常而导致整个程序崩溃
【except】 在捕获错误异常的时候,是要根据具体的错误类型来捕获的
    用一个块 可以捕获多个不同类型的异常
    '__cause__', '__class__', '__context__', '__delattr__','__dict__', 
    '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', 
    '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', 
    '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', 
    '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', 
    '__suppress_context__', '__traceback__', 'args', 'with_traceback'
print(dir(Exception))
try:
    print(b)  #要捕获逻辑的代码
    pass
except NameError as msg:
    #捕获到的错误才会在这里执行
    print(msg)
    pass
finally:
    print('异常1运行结束')
try:
    li = [1,2,3]
    print(li[10])
    pass
except IndexError as msg:
    print(msg)
    pass
finally:
    print('异常2运行结束')
try:
    li = [1,2,3]
    print(li[10])
    print(b)  #要捕获逻辑的代码
    pass
except IndexError as msg:
    print(msg)
    pass
except IndexError as msg:
    print(msg)
    pass
finally:
    print('异常3运行结束')
try:
    print(b)  #要捕获逻辑的代码
    li = [1,2,3]
    print(li[10])
    pass
except NameError as msg:
    #捕获到的错误才会在这里执行
    print(msg)
    pass
except IndexError as msg:
    print(msg)
    pass
finally:
    print('异常4运行结束')
def A(s):
    return 10/int(s)
    pass
def B(s):
    return A(s)*2
    pass
try:
    B('0')
    pass
except Exception as mag:
    print(mag)
    pass
finally:
    print('异常5运行结束')

-----------------------------异常的抛出机制------------------------------
如果在运行时发生异常,解释器会查找相应的异常捕获类型
如果在当前函数里没有找到的话,它会将异常传递给上层的函数 看能否处理
如果在最外层没有找到。解释器就会退出,程序 down 掉

try … except … else语句

except如果不执行,就执行else中的语句
try:
    print(aa)
    pass
except Exception as mag:
    print(mag)
    pass
else:
    print('Try里的代码没有异常')
    pass
finally:
    print('异常1运行结束')

try … except … finally语句

finally 最后都必须执行的代码
try:
    int('ffffffff')
    pass
except Exception as mag:
    print(mag)
    pass
finally:
    print("不管有没有异常,都会执行的代码块")
    print('异常7运行结束')
    pass

自定义异常

直接或者间接继承 Error 或者 Exception 类
由开发者主动抛出自定义异常,在 Python 中使用 raise 关键字
class LeNumExpect(Exception):  # 自定义异常需要继承 Exception 类
    def __init__(self,leng):
        '''
        长度
        '''
        self.len = leng
        pass
    def __str__(self):
        return '您输入的姓名数据长度是'+str(self.len)+'超过长度了…'
        pass
    pass
def name_Test():
    name = input('请输入姓名:')
    try:
        if len(name) > 5:
            raise LeNumExpect(len(name))
        else:
            print(name)
            pass
        pass
    except LeNumExpect as error:
        print(error)
        pass
    else:
        print('格式正确')
        pass
    finally:
        print('异常8运行结束')
        pass
name_Test()
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 17:21:36  更:2021-08-03 17:21:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 2:46:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码