当前位置: 首页 > news >正文

python 学习 异常处理

异常处理实例

while True:
    num1 = input('num1:')
    num2 = input('num2:')
    try:
        num1 = int(num1)
        num2 = int(num2)
        result = num1 + num2
    except Exception as ex:
        print('出现异常,信息如下:')
        print(ex)

异常处理类型

AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError 输入/输出异常;基本上是无法打开文件
ImportError 无法引入模块或包;基本上是路径问题或名称错误
IndentationError 语法错误(的子类) ;代码没有正确对齐
IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的

多类型异常捕获分别处理

dic = ["tubie1", 'tubie2']
try:
    dic[10]
except KeyError as ex:
    print(ex)
except IndexError as ex:
    print(ex)
except ValueError as ex:
    print(ex)
except Exception as ex:  #捕获所有异常
    print(ex)

try except 完整代码块

try:
    # 主代码块
    pass
except KeyError,e:
    # 异常时,执行该块
    pass
else:
    # 主代码块执行正常,执行该块
    pass
finally:
    # 无论异常与否,最终执行该块
    pass

自定义触发错误

可定义各种错误类型

try:
    raise Exception('错误了。。。')
except Exception,e:
    print e

断言

# assert 条件
 
assert 1 == 1
 
assert 1 == 2

  

  

  

转载于:https://www.cnblogs.com/zshaox/p/5648061.html

相关文章:

  • c# 定时器
  • 图论(二分图最大权独立点集):COGS 2051. 王者之剑
  • flow.ci + Github + Slack 一步步搭建 Python 自动化持续集成
  • pct xcode7
  • 高并发性能调试经验分享
  • java中String类、StringBuilder类和StringBuffer类详解
  • 如何确认软件测试结束的呢?
  • SpringMVC(一)
  • 【转】web移动端一些常用知识
  • CSS Hack是什么意思
  • c++中while(cinstr)和ctrl z的相关问题探讨
  • 机器学习学习笔记1
  • $.ajax()方法详解
  • 【C语言入门教程】7.4 共用体
  • Android Snackbar
  • 分享的文章《人生如棋》
  • [Vue CLI 3] 配置解析之 css.extract
  • [译]前端离线指南(上)
  • 【5+】跨webview多页面 触发事件(二)
  • 【css3】浏览器内核及其兼容性
  • 0基础学习移动端适配
  • EventListener原理
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JavaScript新鲜事·第5期
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • Python利用正则抓取网页内容保存到本地
  • Shadow DOM 内部构造及如何构建独立组件
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Spark学习笔记之相关记录
  • 安卓应用性能调试和优化经验分享
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 聊聊hikari连接池的leakDetectionThreshold
  • 免费小说阅读小程序
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $ git push -u origin master 推送到远程库出错
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (HAL库版)freeRTOS移植STMF103
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (二)Linux——Linux常用指令
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (数据结构)顺序表的定义
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • 、写入Shellcode到注册表上线
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net framework4与其client profile版本的区别
  • .Net Remoting(分离服务程序实现) - Part.3
  • .Net的DataSet直接与SQL2005交互
  • .net对接阿里云CSB服务
  • .Net多线程总结
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法