博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 异常处理
阅读量:4954 次
发布时间:2019-06-12

本文共 1480 字,大约阅读时间需要 4 分钟。

异常的语法:

try:              # try下面的语句块执行出现异常,才会执行except下面的语句块    ....except:    ....
try:              # 
表示异常名,我们可以指定出现什么异常就执行什么样的语句块,可以有多个except进行匹配 ....except
: ....
try:              # e 表示异常的详细信息,我们可以通过 print(e) 来查看异常的信息    ....except 
, e: print(e)
try:              # 无论 try 下面的语句块执行是否正常,都会执行 finally 下面的语句块    ....except:    ....finally:    ....
try:              # 只有 try 下面的语句块执行正常,才会执行 else 下面的语句块    ....except:    ....else:            ....finally:    ....

例子:

import sysimport time try:    time.sleep(60)except KeyboardInterrupt:    print("User Press Ctrl+C, Exit")    sys.exit()

常见的异常:

SyntaxError 语法错误
IndexError 索引超出序列范围
KeyError 请求一个不存在的字典关键字
NameError 尝试访问一个没有声明的变量
IndentationError 缩进错误,即代码没有正确对齐
ImportError 无法引入模块或包,可能路径不存在
IOError 输入输出错误,比如你要读的文件不存在
UnboundLocalError 试图访问一个还未被设置的局部变量,
ValueError 传给函数的参数类型不正确,比如给int()函数传入字符串
AttributeError 尝试访问未知的对象属性,比如 os.path.abcd() 中是没有 abcd() 这个函数的
KeyboardInterrupt 键盘中断,即我们按 Ctrl + C 就会出现这个异常

 

 

 

 

 

 

    

 

 

 

 

 

 

 

 

如何自定义异常:

#!/usr/bin/env python#-*- coding:utf-8 -*-class ShortError(Exception):    # 必须用类来自定义异常,且要继承Exception这个异常    def __str__(self):        return "your password is too short, please input again."try:    password = raw_input("Please input your password: ")    if len(password) <= 3:        raise ShortError()    # 如果密码长度小于3,就抛出 ShortError 这个异常,下面的 except 捕获这个异常,最终决定要做什么except ShortError, e:             print(e)

 

 

 

 

 

 

 

    

转载于:https://www.cnblogs.com/pzk7788/p/10300940.html

你可能感兴趣的文章
关于android系统不关屏设置
查看>>
SONY VPCS138EC降级安装XP
查看>>
[luogu4201][bzoj1063]设计路线【树形DP】
查看>>
手机抓包-手机劫持域名到指定服务器
查看>>
被放逐的皇后 金建云
查看>>
Javascript 有用参考函数
查看>>
点群的判别(三)
查看>>
GNSS 使用DFT算法 能量损耗仿真
查看>>
【转】Simulink模型架构指导
查看>>
MYSQL数据库的导出的几种方法
查看>>
SQL Server-5种常见的约束
查看>>
硬件之美
查看>>
[转载]java开发中的23种设计模式
查看>>
表格的拖拽功能
查看>>
函数的形参和实参
查看>>
文字过长 用 ... 表示 CSS实现单行、多行文本溢出显示省略号
查看>>
1Caesar加密
查看>>
【TP SRM 703 div2 500】 GCDGraph
查看>>
MapReduce 重要组件——Recordreader组件 [转]
查看>>
webdriver api
查看>>