1、异常基础

在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!!

try:

pass #代码主体

except Exception as e:

pass

例如:转化为数字类型,输入字符串就会报错

inp=input("please input what you want:")

try:

num=int(inp)

# li=[]

# li[8888]

# except ValueError as e:

# print("值错误")

# except IndexError as e:

# print("索引错误")

except Exception as e:

print(e)

2、异常种类

python中的异常种类非常多,每个异常专门用于处理某一项异常!!!

AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x

IOError 输入/输出异常;基本上是无法打开文件

ImportError 无法引入模块或包;基本上是路径问题或名称错误

IndentationError 语法错误(的子类) ;代码没有正确对齐

IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]

KeyError 试图访问字典里不存在的键

KeyboardInterrupt Ctrl+C被按下

NameError 使用一个还未被赋予对象的变量

SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)

TypeError 传入对象类型与要求的不符合

UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,

导致你以为正在访问它

ValueError 传入一个调用者不期望的值,即使值的类型是正确的

dic = ["kobe", 'calvin']

try:

dic[10]

except IndexError as e:

print (e)

s1 = 'calvin'

try:

int(s1)

except ValueError as e:

print (e)

对于上述实例,异常类只能用来处理指定的异常情况,如果非指定异常则无法处理。

在python的异常中,有一个万能异常:Exception,他可以捕获任意异常,即:

s1 = 'calvin'

try:

int(s1)

except Exception as e:

print (e)

有了这个万能异常,其他异常不可以忽略,对于特殊处理或提醒的异常需要先定义,最后定义Exception来确保程序正常运行。

s1 = 'hello'

try:

int(s1)

except ValueError as e:

print("值错误")

except IndexError as e:

print("索引错误")

except Exception as e:

print(e)

3、异常其他结构

try:

# 主代码块

pass

except KeyError as e:

# 异常时,执行该块

pass

else:

# 主代码块执行完,执行该块

pass

finally:

# 无论异常与否,最终执行该块

pass

4、主动触发异常

try:

inp=input("please input number:")

if inp.isdigit():

print("right")

else:

raise Exception("get error!")

except Exception as e:

#e 封装了错误信息的对象

print(e)

5、自定义异常

class kb:

def __init__(self,arg):

self.kk=arg

def __str__(self):

return self.kk

obj=kb("get error!!!")

print(obj)

6、断言

# assert 条件

assert 1 == 1

assert 1 == 2

python3异常_python3 异常处理相关推荐

  1. 异常以及异常处理框架探析

    摘要:本文主要与您探讨异常以及异常处理相关方面的一些知识,主要包括检查异常与非检查异常的理解,多视角观察理解异常,进而探讨关于构建稳健且可扩展的异常框架方面的一些设计原则. 概述 一般情况下,企业级应 ...

  2. Python3异常-AttributeError: module ‘sys‘ has no attribute ‘setdefaultencoding‘

    Python3异常-AttributeError: module 'sys' has no attribute 'setdefaultencoding' 参考文章: (1)Python3异常-Attr ...

  3. 异常和异常处理(windows平台)

    [翻译]异常和异常处理(windows平台) 翻译的不好,莫怪. 原文地址: http://crashrpt.sourceforge.net/docs/html/exception_handling. ...

  4. java 数字运算异常_Java基础之:异常及异常处理

    Java基础之:异常及异常处理 我们将java程序执行过程中出现的不正常现象称为异常,例如:之前遇到的数组下标越界异常,空指针异常等等 执行过程中发生的异常事件分为两类: Error(错误):Java ...

  5. Python3 异常: name ‘basestring‘ is not defined

    Python3 异常: name 'basestring' is not defined 参考文章: (1)Python3 异常: name 'basestring' is not defined ( ...

  6. Java异常与异常处理简单使用

    Java异常与异常处理简单使用 参考文章: (1)Java异常与异常处理简单使用 (2)https://www.cnblogs.com/freeweb/p/4823815.html 备忘一下.

  7. MySQL定义异常和异常处理方法

    MySQL定义异常和异常处理方法 参考文章: (1)MySQL定义异常和异常处理方法 (2)https://www.cnblogs.com/yizitrd/p/5445071.html 备忘一下.

  8. java 异常处理的关键字_java异常,异常处理,异常类 关键字:throws 和 throw 自定义的异常类...

    packagecn.kecheng;importjava.util.Scanner;/**异常:异常是指在程序的运行过程中所发生的不正常的情况,它会中断正在运行的程序 异常处理机制:java中通过异常 ...

  9. python3 抛出异常_Python3 异常

    一.错误 语法错误:使用 Pycharm 工具编写 Python 程序,编译器就会检测出来并给予提示,因此,编写好的程序几乎不会出现错误. 逻辑错误:编译器不会提示,例如:0作为被除数 二.异常 Py ...

最新文章

  1. 用python计算邮费-python习题1-最大的不可支付邮资问题
  2. 环境污染,拿什么来保障食品安全?
  3. 【python】装饰器
  4. 数据结构-图-邻接矩阵-试在邻接矩阵存储结构上实现图的基本操作 matrix_insert_vertex 和matrix_insert_arc-icoding
  5. 实践设计模拟计算机,个体化股骨假体的计算机辅助设计实践及模拟力学实验
  6. 山东2021高考成绩查询时间二本,山东二本录取结果什么时候出来,2021年高考山东二本录取结果查询时间...
  7. 软件设计师教程(第5版)- 前言和目录
  8. 永中Office 2004 增强版上市,试用版免费下载
  9. 面试70问经典回答技巧
  10. Fiddler 和 Wireshark抓包教程合集
  11. 无线传感器网络路由协议
  12. 收藏!用Python一键批量将任意结构的CSV文件导入MySQL数据库。
  13. CSS高级属性之 box-shadow 详解
  14. 程序员必看的那些电影
  15. linux find typelinux find用法(转)
  16. 2021计算机三级网络技术教程,全国计算机等级考试三级教程——网络技术(2021年版)...
  17. 蜂巢输入法android,讯飞输入法首创云+端“蜂巢”输入模型
  18. 2018,微信公众号可能要变天了
  19. vue js 图像标注 --- canvas 实现
  20. 存储ic载板_科技观察—IC载板—2018年IC载板行业市场空间、格局和变化

热门文章

  1. fastdfs windows部署_Go在windows下编译Linux可执行文件
  2. Java中用JS那些_java web中javascript主要用哪些?
  3. mysql windows ad_mysql windows安装
  4. 聊聊机器翻译界的“灌水与反灌水之战”!
  5. 会议交流 | 知识图谱前沿技术与热门应用
  6. python中字符串添加r的作用,原始字符串不发生转义
  7. cosine_similarity和torch.cosine_similarity速度差异(人间奇事)
  8. 国科大prml11-降维
  9. JavaWeb:tomcat服务器安装总结及Http协议
  10. 批量替换文件夹下所有文件的内容