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 相关文章推荐
linux下安装easy_install的方法
Feb 10 Python
Python与shell的3种交互方式介绍
Apr 11 Python
Python的Flask框架中实现分页功能的教程
Apr 20 Python
python避免死锁方法实例分析
Jun 04 Python
Python Socket编程之多线程聊天室
Jul 28 Python
python+opencv实现阈值分割
Dec 26 Python
Python基于opencv实现的简单画板功能示例
Mar 04 Python
Python脚本修改阿里云的访问控制列表的方法
Mar 08 Python
python3 property装饰器实现原理与用法示例
May 15 Python
python如何读取bin文件并下发串口
Jul 05 Python
Python tkinter和exe打包的方法
Feb 05 Python
Pandas搭配lambda组合使用详解
Jan 22 Python
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
Python干货实战之八音符酱小游戏全过程详解
关于python pygame游戏进行声音添加的技巧
Oct 24 #Python
python实现简单石头剪刀布游戏
Python 数据结构之十大经典排序算法一文通关
You might like
晶体管来复再生式二管收音机
2021/03/02 无线电
利用 window_onload 实现select默认选择
2006/10/09 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
PHP设置进度条的方法
2015/07/08 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
jQuery替换textarea中换行的方法
2015/06/10 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
2015/11/26 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
python多线程编程方式分析示例详解
2013/12/06 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
幼儿园保育员辞职信
2014/01/12 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
青年联谊会致辞
2015/07/31 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
Python必备技巧之函数的使用详解
2022/04/04 Python