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调用java的Webservice示例
Mar 10 Python
Python迭代器和生成器介绍
Mar 06 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
python对DICOM图像的读取方法详解
Jul 17 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
使用Python制作自动推送微信消息提醒的备忘录功能
Sep 06 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
python对于requests的封装方法详解
Jan 03 Python
NumPy统计函数的实现方法
Jan 21 Python
Opencv 图片的OCR识别的实战示例
Mar 02 Python
Python爬虫基础讲解之请求
May 13 Python
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
Python干货实战之八音符酱小游戏全过程详解
关于python pygame游戏进行声音添加的技巧
Oct 24 #Python
python实现简单石头剪刀布游戏
Python 数据结构之十大经典排序算法一文通关
You might like
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
PHP防盗链代码实例
2014/08/27 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
[01:32]DOTA2上海特锦赛现场采访:最想COS的英雄
2016/03/25 DOTA
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
python把1变成01的步骤总结
2019/02/27 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
全球立体声:World Wide Stereo
2018/09/29 全球购物
Hotels.com印度:酒店预订
2019/05/11 全球购物
大学生职业生涯规划范文
2013/12/31 职场文书
企业管理毕业生求职信范文
2014/03/07 职场文书
商业融资计划书
2014/04/29 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
法院授权委托书范文
2014/08/02 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js