Python异常 --Python

一、常见的异常类型
  1. FileNotFoundError:找不到指定文件的异常
  2. NameError:未声明或者未初始化对象
  3. BaseException:所有异常的基类
二、异常处理语句

1、try...except...

try:
    filename = input('请输入文件名:')
    open('%s.txt' % filename)
except FileNotFoundError:
    print('%s文件没有找到!' % filename)

2、try...except ...else...(没有异常的时候会执行else中的语句)

try:
    filename = input('请输入文件名:')
    open('%s.txt' % filename)
except FileNotFoundError:
    print('%s文件没有找到!' % filename)
else:
    print('正确找到文件!')

3、try...except...finally

try:
    filename = input('请输入文件名:')
    open('%s.txt' % filename)
except FileNotFoundError:
    print('%s文件没有找到!' % filename)
finally:
    print('end')

4、try...except...as...

try:
    print(car)
except BaseException as msg:
    print(msg)

5、raise
前面try语句是在执行过程中捕获代码块中的异常,而raise是通过事先定义一个条件,一旦符合异常条件,就抛出异常。raise只能用于Python标准异常类。

def devision(x, y):
def devision(x, y):
    if y == 0:
        raise ZeroDivisionError('Zero is not allowed')
    return x / y
    
try:
    x = eval(input('x='))
    y = eval(input('y='))
    print(devision(x, y))
except ZeroDivisionError as msg:
    print(msg)
三、Python标准异常类

BaseException:所有异常的基类
SystemExit:解释器请求utuichu
KeyboardInterrupt:用户中断执行(通常是输入^C)
Except:常规错误基类
StopIteration:迭代器没有更多值
GeneratorExit:生成器(generator)发生异常来通知退出
StandardError:所有内建标准异常的基类
ArithmeticError:所有数值计算错误的基类
FloatingPointError:浮点计算错误
OverflowError:数值运算超出最大限制
ZeroDivisionError:除或者取模零

posted @ 2019-06-12 16:37  牛新龙的IT技术博客  阅读(378)  评论(0编辑  收藏  举报