python中异常有哪些?python中异常的详细介绍


当前第2页 返回上一页

出现异常时try-except-else-finally如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

try:

    i = 1 / 0

    print("没有出现异常i值", i)

except Exception as e:

    print("出现异常-->", e)

else:

    print("没有出现异常-->执行else")

finally:

    print("不管是否出现异常,这里的语句一定会被执行")

 

 

# 输出结果

出现异常--> division by zero

不管是否出现异常,这里的语句一定会被执行

没有出现异常时try-except-else-finally如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

try:

    i = 1 / 1

    print("没有出现异常i值", i)

except Exception as e:

    print("出现异常-->", e)

else:

    print("没有出现异常-->执行else")

finally:

    print("不管是否出现异常,这里的语句一定会被执行")

 

 

# 输出结果

没有出现异常i值 1.0

没有出现异常-->执行else

不管是否出现异常,这里的语句一定会被执行

②、try-except-else-finally还可以拆开使用,有三种形式 1)try-except-finally 2)try-except-else 3)try-finally。 这里就不展示代码了

4、异常的传递

在发生异常的语句中没有处理异常的语句,异常将向上层传递,直到遇到处理异常的语句,或python解释器终止程序

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

def test2():

    int("aa")

 

def test1():

    test2()

 

try:

    test1()

except Exception as e:

    print(e)

print("-----------")

 

 

# 输出结果

invalid literal for int() with base 10: 'aa'

-----------

如上test2中第2行出现异常,将向第5行调用test2的语句处传递,这里依旧没有异常处理语句,将继续往上层传递到第8行处被except捕获

5、抛出异常 raise

1)抛出python已定义的异常

通过raise 异常类型即可抛出一个异常,抛出的异常也会被except捕获到。如下边第4行

1

2

3

4

5

6

7

8

9

age = 500

try:

    if age < 0 or age > 200:

        raise ValueError("age范围0-200")

    print("age", age)

except ValueError as e:

    print("出现异常-->", e)

# 输出结果

出现异常--> age范围0-200

2)抛出自定义异常

抛出自定义异常首先得有个自定义的异常类,注:自定义的异常必须直接或间接的继承Exception基类

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

class MyException(Exception):  # 自定义异常类

    def __init__(self, msg):

        self.msg = msg

 

 

age = 500

try:

    if age < 0 or age > 200:

        raise MyException("age范围0-200")  # 抛出自定义异常

    print("age", age)

except MyException as e:

    print("出现异常-->", e)

 

 

# 输出结果

出现异常--> age范围0-200

当然自定义异常类也可以拥有许多的功能,就得看需求添加啦

6、在异常处理中抛出异常

有某需求:当捕获到异常时处理完后想继续抛出异常.....

在except中用raise可以抛出当前异常

1

2

3

4

5

6

7

8

9

10

11

12

13

14

try:

    i = 1 / 0  # 异常的语句

except Exception as e:

    print("出现异常-->", e)

    raise  # 处理完后继续抛出异常,raise表示抛出当前异常

print("-------------")

 

 

# 输出结果

出现异常--> division by zero

Traceback (most recent call last):

  File "<stdin>", line 2, in <module>

    i = 1 / 0

ZeroDivisionError: division by zero

以上就是python中异常有哪些?python中异常的详细介绍的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Python mysql数据库中pymysqlpool是如何使用的?

Python idle是什么

Python字典的用法详解(附示例)

Python如何将数字转化为字符串

Python拿mac还是windows?

详解golang中switch语句和select语句的用法

为什么选择用Python做爬虫

Python属于什么类型的语言

Python3.6中如何安装pip

Python中累加怎么做

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...