python自定义异常实例详解

yipeiwu_com6年前Python基础

python自定义异常实例详解

         本文通过两种方法对Python 自定义异常进行讲解,第一种创建一个新的exception类来拥有自己的异常,第二种:raise 唯一的一个参数指定了要被抛出的异常

1、可以通过创建一个新的exception类来拥有自己的异常。异常应该继承自 Exception 类,或者直接继承,或者间接继承。

>>>raiseNameError('HiThere')
Traceback(most recent call last):
File"<pyshell#45>", line 1,in<module>
raiseNameError('HiThere')
NameError:HiThere

 2、raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。

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

>>>classMyError(Exception):
def __init__(self, value):
      self.value = value
def __str__(self):
return repr(self.value)
>>>try:
raiseMyError(2*2)
exceptMyErroras e:
print('My exception occurred, value:', e.value)
My exception occurred, value:4
>>>raiseMyError('oops!')
Traceback(most recent call last):
File"<pyshell#64>", line 1,in<module>
raiseMyError('oops!')
MyError:'oops!'

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

Python Tkinter基础控件用法

Python Tkinter基础控件用法

本文实例展示了Python Tkinter基础控件的用法,分享给大家供大家参考之用。具体方法如下: # -*- coding: utf-8 -*- from Tkinter impo...

python 读取.csv文件数据到数组(矩阵)的实例讲解

利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb"),delim...

用python标准库difflib比较两份文件的异同详解

用python标准库difflib比较两份文件的异同详解

【需求背景】 有时候我们要对比两份配置文件是不是一样,或者比较两个文本是否异样,可以使用linux命令行工具diff a_file b_file,但是输出的结果读起来不是很友好。这时候使...

Python cookbook(数据结构与算法)实现优先级队列的方法示例

本文实例讲述了Python实现优先级队列的方法。分享给大家供大家参考,具体如下: 问题:要实现一个队列,它能够以给定的优先级对元素排序,且每次pop操作时都会返回优先级最高的那个元素;...

Django学习笔记之ORM基础教程

Django学习笔记之ORM基础教程

ORM简介 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,OR...