python基础之错误和异常处理

 更新时间:2021年10月24日 11:14:32   作者:qianqqqq_lu  
这篇文章主要介绍了python错误和异常处理,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下

在这里插入图片描述

在这里插入图片描述

import Exception
# except 在捕获错误异常的时候 是要根据具体的错误类型来捕获的
# 用一个块 可以捕获多个不同类型的异常
# EXception 可以捕获所有异常 当对出现的问题或者错误不确定的情况下 可以使用此种
print(dir(Exception))
try:
    # print(b)  #捕获逻辑的代码
    li=[1,2,3,4]
    print(li[10])
    pass
except NameError as msg:
    # 捕获到的错误 才会在这里执行
    print(msg)
    pass
except IndexError as msg:
    print(msg)
print('初次接触异常')
print('HAHAHAHAHHAHAHAH')

在这里插入图片描述

在这里插入图片描述

try:
    # print(b)  #捕获逻辑的代码
    # li=[1,2,3,4]
    # print(li[10])
    a=10/0
    pass
except NameError as msg:
    # 捕获到的错误 才会在这里执行
    print(msg)
    pass
except IndexError as msg:
    print(msg)
    pass
except ZeroDivisionError as msg:
    print(msg)
print('初次接触异常')
print('HAHAHAHAHHAHAHAH')

在这里插入图片描述

异常类型

在这里插入图片描述

try:
    print(b)  #捕获逻辑的代码
    # li=[1,2,3,4]
    # print(li[10])
    # a=10/0
    pass
# except NameError as msg:
#     # 捕获到的错误 才会在这里执行
#     print(msg)
#     pass
# except IndexError as msg:
#     print(msg)
#     pass
# except ZeroDivisionError as msg:
#     print(msg)
#     pass
except Exception as msg:
    print(msg)
    pass
print('初次接触异常')
print('HAHAHAHAHHAHAHAH')

在这里插入图片描述

def A(s):
    return 10/int(s)
    pass
def B(s):
    return A(s)*2
def main():
    try:
        B('0')
        pass
    except Exception as msg:
        print(msg)
        pass
    pass
main()
# 不需要在每个可能出错的地方去捕获,只要在合适的层次去捕获错误就可以了 这样的话 就大大减少我们写try----exception的麻烦
# 异常的抛出机制
#如果在运行时发生异常 解释器会查找相应的异常捕获类型
#如果在当前函数里面没有找到的话 它会将异常传递给上层的调用函数
#如果在最外层 没有找到的话 解释器就会退出 程序down掉

在这里插入图片描述


在这里插入图片描述

class ToolongmyException(Exception): #自定义异常
    def __init__(self,leng):
        '''
         :param leng:长度
        '''
        self.len=leng
    pass
    def __str__(self):
        return '您输入的数据长度是'+str(self.len)+'已经超过长度了'
    pass
def name_Test():
    name=input('请输入姓名:')
    if len(name)>5:
        raise ToolongmyException(len(name))   #抛出异常
    else:
        print(name)
        pass
    pass
name_Test()

在这里插入图片描述

在这里插入图片描述

class ToolongmyException(Exception): #自定义异常
    def __init__(self,leng):
        '''
         :param leng:长度
        '''
        self.len=leng
    pass
    def __str__(self):
        return '您输入的数据长度是'+str(self.len)+'已经超过长度了'
    pass
def name_Test():
    name=input('请输入姓名:')
    try:
        if len(name)>5:
            raise ToolongmyException(len(name))   #抛出异常
        else:
            print(name)
            pass
    except ToolongmyException as result:
        print(result)
        pass
    finally:
        print('执行完毕了')
    pass
name_Test()

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Python+Pygame实现趣味足球游戏

    Python+Pygame实现趣味足球游戏

    这篇文章主要为大家分享了一个基于Python和Pygame实现的一个趣味足球游戏,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下
    2022-05-05
  • 一篇文章带你了解Python中的装饰器

    一篇文章带你了解Python中的装饰器

    Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里,下面这篇文章主要给大家介绍了关于Python中装饰器的相关资料,需要的朋友可以参考下
    2022-03-03
  • python3 flask使用连接池连接数据库实例

    python3 flask使用连接池连接数据库实例

    这篇文章主要为大家介绍了python3 flask使用连接池连接数据库实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 深入学习Python中的上下文管理器与else块

    深入学习Python中的上下文管理器与else块

    这篇文章主要给大家介绍了关于Python中上下文管理器与else块的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-08-08
  • python中os.environ基本介绍及使用方法

    python中os.environ基本介绍及使用方法

    os.environ是Python中的一个字典对象,它包含了当前进程的环境变量,通过使用os.environ,可以获取和设置环境变量的值,这篇文章主要介绍了python中os.environ基本介绍及使用方法,需要的朋友可以参考下
    2023-08-08
  • 使用Python实现视频转音频与音频转文本

    使用Python实现视频转音频与音频转文本

    这篇文章主要为大家详细介绍了使用Python实现视频转音频与音频转文本的相关知识,文中的示例代码简洁易懂,有需要的小伙伴可以参考一下
    2024-02-02
  • python实现截取屏幕保存文件,删除N天前截图的例子

    python实现截取屏幕保存文件,删除N天前截图的例子

    今天小编就为大家分享一篇python实现截取屏幕保存文件,删除N天前截图的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python 超简洁且详细爬取西瓜视频案例

    Python 超简洁且详细爬取西瓜视频案例

    今天给大家带来一篇爬取西瓜视频的小教程,很简单的几十行代码就可以实现了,每一段代码都详细说明了用途,看完你就能够自己动手写,感兴趣的同学快来跟着小编往下看吧
    2021-11-11
  • pandas选择或添加列生成新的DataFrame操作示例

    pandas选择或添加列生成新的DataFrame操作示例

    这篇文章主要为大家介绍了pandas选择或添加列生成新的DataFrame实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 关于Python网络爬虫requests库的介绍

    关于Python网络爬虫requests库的介绍

    这篇文章主要介绍了关于Python网络爬虫requests库,而很多时候这些数据存储在网页中,手动下载需要花费的时间太长,这时候我们就需要网络爬虫帮助我们自动爬取这些数据,需要的朋友可以参考下
    2023-04-04

最新评论