20 | 异常处理

异常处理

一、基本介绍

异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下:


千锋云计算杨哥团队

二、异常的种类

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

例如:
s = 'lenovo'

print(s.shark)
# 输入/输出异常;基本上是无法打开文件
IOError 

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

# 缩进错误) ;代码没有正确对齐
IndentationError 

例如:
if 1 == 1:
print(110)

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

例如:
li = [1, 2]
li[10]

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

例如:
d = {'a': 1}
d['b']

#  按了一下 Ctrl+C
KeyboardInterrupt

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

例如: 
print(n)

# 无效语法,语法错误
SyntaxError 
例如:
if  1 == 1
    print('ok')

三、处理异常的语句

1. 基本语法

try:
    被检测的代码块
except 异常类型:
    try中一旦检测到异常,就执行这个位置的逻辑

示例:

try:
    w = s[8]
except IndexError as e:
    pass
print("程序继续运行")

不用的异常应该使用对其的异常类类型进行捕获。

try:
    w = ss[9]
except IndexError as e:
    print(e)

使用万能异常 Exception

try:
    w = ss[9]
except Exception as e:
    print(e)

四、生产环境如何处理异常

import traceback

print('start-->')
try:
    1 + 'a'
except TypeError as e:
    print(e)
    print('*' * 30)
    print(traceback.format_exc())
    print('*' * 20)

print('end')

你可能感兴趣的:(20 | 异常处理)