网站设计需求表,郑州网站seo,开发一款小程序,杭州网站前端建设书接上回#xff1a;
python基础语法一-基本数据类型
python基础语法二-多维数据类型
python基础语法三-类
python基础语法四-数据可视化
python基础语法五-函数
python基础语法六-正则匹配
python基础语法七-openpyxl操作excel
1. 异常简介
(1)异常#xff1a;遇到…书接上回
python基础语法一-基本数据类型
python基础语法二-多维数据类型
python基础语法三-类
python基础语法四-数据可视化
python基础语法五-函数
python基础语法六-正则匹配
python基础语法七-openpyxl操作excel
1. 异常简介
(1)异常遇到异常可以继续正常执行不会终止
(2)python中的异常继承层次 BaseException |
-------------------------------------------------------------------------------
| | | |
KeyBoardInterrupt Exception SystemExit GeneratorExit | NameError/ValueError等 2. try…except结构
(1)格式
try: 可能引发异常的语句块
except[ BaseException [as e]]: # e:异常对象 异常处理语句块
例2
import traceback
try: print(1) a3/0 print(2) # skip
except: print(error) 3. try 多个except结构
(1)格式
try: 可能引发异常的语句块
except Exception1: 异常1处理语句块
except Exception2: 异常2处理语句块 ...
except BaseException [as e]: 异常处理语句块
例3
try: a float(input(please input the dividend:)) b float(input(please input the divisor:)) c a/b print(%d / %d %d % (a, b, c))
except ZeroDivisionError: print(divisor shouldn\t be zero)
except ValueError: print(string shouldn\t be input) except BaseException as e: print(e) 4. try...except(可以多个)...else结构
(1)try里是可能有异常的语句块如果有异常则进入except没有异常则进入else
例4 try: a float(input(please input the dividend:)) b float(input(please input the divisor:)) c a/b except ZeroDivisionError: print(divisor shouldn\t be zero) except ValueError: print(string shouldn\t be input) except BaseException as e: print(e) else: print(%d / %d %d % (a, b, c)) 5. try...except...finally结构
(1)说明try里是可能有异常的语句块无论是否有异常一定会进入finally。
(2)典型应用处理文件时最后一定要关闭该文件
例5
try: a float(input(please input the dividend:)) b float(input(please input the divisor:)) c a/b except ZeroDivisionError: print(divisor shouldn\t be zero) except ValueError: print(string shouldn\t be input) except BaseException as e: print(e) else: print(%d / %d %d % (a, b, c)) finally: print(end !) 6. 常见异常
(1)ZeroDivisionError 除0异常
(2)ValueError 字符串不能当做数字做运算
(2)NameError 访问一个没有声明的变量
(3)SyntaxError 语法异常
(4)IndexError 数组越界
(5)TypeError 类型异常 例如数字和字符串不能相加
(6)KeyError 字典没有这个key
(7)AttributeError 对象不存在这个属性 7. traceback
(1)作用打印详细的错误信息并且可以把错误信息存储到日志文件中
例7
try: a 1/0 except BaseException as e: with open(rC:\Users\qinglan.he\Desktop\traceback.txt,a) as f: traceback.print_exc(filef) 8. 自定义异常
例8
class MyError(Exception): # 继承Exception def __init__(self, age): Exception.__init__(self) self.age age def print_error(self): print(age arror! age shouldn\t be , self.age)
if __name__ __main__: age 200 if age 150: my_error MyError(age) my_error.print_error()