python基础之错误和异常处理


Posted in Python onOctober 24, 2021

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')

python基础之错误和异常处理

python基础之错误和异常处理

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')

python基础之错误和异常处理

异常类型

python基础之错误和异常处理

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')

python基础之错误和异常处理

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掉

python基础之错误和异常处理


python基础之错误和异常处理

python基础之错误和异常处理

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()

python基础之错误和异常处理

python基础之错误和异常处理

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基础之错误和异常处理

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Python 相关文章推荐
在Python中实现贪婪排名算法的教程
Apr 17 Python
python shell根据ip获取主机名代码示例
Nov 25 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
windows下添加Python环境变量的方法汇总
May 14 Python
Django实战之用户认证(初始配置)
Jul 16 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
python 直接赋值和copy的区别详解
Aug 07 Python
python实现猜拳小游戏
Apr 05 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
Jan 10 Python
python使用隐式循环快速求和的实现示例
Sep 11 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 Python
python中urllib包的网络请求教程
Apr 19 Python
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
Python干货实战之八音符酱小游戏全过程详解
关于python pygame游戏进行声音添加的技巧
Oct 24 #Python
python实现简单石头剪刀布游戏
Python 数据结构之十大经典排序算法一文通关
You might like
?算你??的 PHP 程式大小
2006/12/06 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
HTML5注册页面示例代码
2014/03/27 HTML / CSS
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
Champion官网:美国冠军运动服装
2017/01/25 全球购物
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
驾驶员培训方案
2014/05/01 职场文书
文艺演出策划方案
2014/06/07 职场文书
植树节口号
2014/06/21 职场文书
科学发展观演讲稿
2014/09/11 职场文书
小学生暑假安全公约
2015/07/14 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书