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 相关文章推荐
Windows和Linux下Python输出彩色文字的方法教程
May 02 Python
Python:Scrapy框架中Item Pipeline组件使用详解
Dec 27 Python
python Celery定时任务的示例
Mar 13 Python
python 字典修改键(key)的几种方法
Aug 10 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
django模板加载静态文件的方法步骤
Mar 01 Python
Python中Numpy ndarray的使用详解
May 24 Python
Python zip函数打包元素实例解析
Dec 11 Python
django之导入并执行自定义的函数模块图解
Apr 01 Python
python如何判断IP地址合法性
Apr 05 Python
新建文件时Pycharm中自动设置头部模板信息的方法
Apr 17 Python
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
Python干货实战之八音符酱小游戏全过程详解
关于python pygame游戏进行声音添加的技巧
Oct 24 #Python
python实现简单石头剪刀布游戏
Python 数据结构之十大经典排序算法一文通关
You might like
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
javascript 运算数的求值顺序
2011/08/23 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
jQuery实现复选框全选/取消全选/反选及获得选择的值
2014/06/12 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
[03:08]Ti4观战指南上
2014/07/07 DOTA
编程语言Python的发展史
2014/09/26 Python
python中ConfigParse模块的用法
2014/09/29 Python
python字符串的常用操作方法小结
2016/05/21 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
如何开启linux的ssh服务
2013/06/03 面试题
医科学校毕业生自荐信
2013/11/09 职场文书
保安员岗位职责
2013/11/17 职场文书
函授毕业自我鉴定
2013/12/19 职场文书
销售主管岗位职责
2014/02/08 职场文书
小学新课改心得体会
2016/01/22 职场文书
MySQL约束超详解
2021/09/04 MySQL