zoukankan      html  css  js  c++  java
  • python主动抛出异常和自定义异常

    一、主动抛出异常 raise

    Python 使用 raise 语句抛出一个指定的异常。

    raise 唯一的一个参数指定了要被抛出的异常。

    它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。

    如下:

    x = 10
    if x > 5:
        raise Exception('x 不能大于 5。x 的值为: {}'.format(x))

    结果如下:

    Traceback (most recent call last):
      File "test.py", line 3, in <module>
        raise Exception('x 不能大于 5。x 的值为: {}'.format(x))
    Exception: x 不能大于 5。x 的值为: 10

    如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的 raise 语句就可以再次把它抛出。

    try:
        raise NameError('HiThere')
    except NameError:
        print('An exception flew by!')
        raise

    二、自定义异常

    自定义类必须继承Exception,自定义异常如下:

    class MySQLError(Exception):
        def __init__(self, error_info):
            super(MySQLError, self).__init__(error_info)
            self.error_info = error_info
    
        def __str__(self):
            return self.error_info

    使用如下:

    try:
        raise MySQLError('异常')
    except MySQLError as e:
        print(e)

    结束!

  • 相关阅读:
    java基础知识复习
    红黑二叉查找树(原理、实现)
    Django admin
    redis+sentinel 安装与配置
    浅谈saltstack
    python3 通过smtplib模块发送邮件
    django 自定义分页模块
    chouti项目
    Django 进阶篇二
    Django 进阶篇
  • 原文地址:https://www.cnblogs.com/aaronthon/p/15103274.html
Copyright © 2011-2022 走看看