python异常处理作业_Python的异常处理

Python的异常处理

1、 异常常用形式

Python异常常用形式:

try:

正常的操作

......................

except:

发生异常,执行这块代码

......................

else:

如果没有异常执行这块代码

finally:

不管如何,最后一定要执行的代码

用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块

例:

try:

a = 10

b = 0

a/b

except Exception as e:

print(e)

print('error')

# raise e

else:

print('ok!')

finally:

print('end')

结果:

integer division or modulo by zero

error

end

如果b的数值为1,运行结果:

ok!

end

2、 Exception异常类

异常Warning

基类警告类别。

异常UserWarning

基类警告由用户代码生成。

异常DeprecationWarning

基类关于弃用功能的警告。

异常PendingDeprecationWarning

基类警告功能,这在未来将被弃用。

异常SyntaxWarning

基类警告可疑的语法。

异常RuntimeWarning

基类警告可疑的运行时行为。

异常FutureWarning

关于构造基类警告这将改变语义 的未来。

异常ImportWarning

基类模块进口警告可能的错误。

异常UnicodeWarning

基类警告与Unicode。

异常的层级结构

BaseException

+—— SystemExit

+—— KeyboardInterrupt

+—— GeneratorExit

+—— 异常

+—— 抛出StopIteration

+—— StandardError

|    +—— BufferError

|    +—— ArithmeticError

|    |    +—— FloatingPointError

|    |    +—— OverflowError

|    |    +—— ZeroDivisionError

|    +—— AssertionError

|    +—— AttributeError

|    +—— EnvironmentError

|    |    +—— IOError

|    |    +—— OSError

|    |         +—— WindowsError (窗户)

|    |         +—— VMSError (虚拟机)

|    +—— EOFError

|    +—— ImportError

|    +—— LookupError

|    |    +—— IndexError

|    |    +—— KeyError

|    +—— MemoryError

|    +—— NameError

|    |    +—— UnboundLocalError

|    +—— ReferenceError

|    +—— RuntimeError

|    |    +—— NotImplementedError

|    +—— SyntaxError

|    |    +—— IndentationError

|    |         +—— TabError

|    +—— SystemError

|    +—— TypeError

|    +—— ValueError

|         +—— UnicodeError

|              +—— UnicodeDecodeError

|              +—— UnicodeEncodeError

|              +—— UnicodeTranslateError

+—— 警告

+—— DeprecationWarning

+—— PendingDeprecationWarning

+—— RuntimeWarning

+—— SyntaxWarning

+—— UserWarning

+—— FutureWarning

+—— ImportWarning

+—— UnicodeWarning

+—— BytesWarning

3、 raise关键字

Raise用来触发异常

raise语法格式如下:

raise [Exception [, args [, traceback]]]

raise语句如果不带参数,就会把当前错误原样抛出

例:

try:

a = 10

b = 0

a/b

except Exception as e:

print(e)

print('error')

raise e

else:

print('ok!')

finally:

print('end')

结果:

integer division or modulo by zero

Traceback (most recent call last):

error

File "C:/Users/admin/PycharmProjects/test/except/yichang2.py", line 15, in

end

raise e

ZeroDivisionError: integer division or modulo by zero

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值