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 关于反射和类的特殊成员方法
Sep 14 Python
Python使用Matplotlib实现Logos设计代码
Dec 25 Python
Python中xrange与yield的用法实例分析
Dec 26 Python
pandas每次多Sheet写入文件的方法
Dec 10 Python
python config文件的读写操作示例
Sep 27 Python
Win系统PyQt5安装和使用教程
Dec 25 Python
快速查找Python安装路径方法
Feb 06 Python
Python socket服务常用操作代码实例
Jun 22 Python
基于Python爬取搜狐证券股票过程解析
Nov 18 Python
python 使用OpenCV进行简单的人像分割与合成
Feb 02 Python
pycharm无法导入lxml的解决办法
Mar 31 Python
Python os和os.path模块详情
Apr 02 Python
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
Python干货实战之八音符酱小游戏全过程详解
关于python pygame游戏进行声音添加的技巧
Oct 24 #Python
python实现简单石头剪刀布游戏
Python 数据结构之十大经典排序算法一文通关
You might like
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
页面中js执行顺序
2009/11/09 Javascript
jquery 日期分离成年月日的代码
2010/05/14 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
js简易版购物车功能
2017/06/17 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
js实现图片粘贴到网页
2019/12/06 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
Python实现迭代时使用索引的方法示例
2018/06/05 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
深入探究HTML5的History API
2015/07/09 HTML / CSS
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
经济贸易系毕业生求职信
2014/05/31 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
入党函调证明材料
2015/06/19 职场文书
Apache POI的基本使用详解
2021/11/07 Servers
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技
TS 类型收窄教程示例详解
2022/09/23 Javascript