python异常触发及自定义异常类解析

yipeiwu_com6年前Python基础

python程序运行中,可由程序抛出异常。

异常触发:使用raise命令抛出异常,即可使用异常基类Exception,也可使用自定义异常类(继承Exception类)。

class Point:
  def __init__(self, x, y):
    self.x = x
    self.y = y
# Define a class to raise Line errors
class LineError(Exception):  #继承自基类Exception
  def __init__(self,ErrorInfo):
    self.errorinfo=ErrorInfo
  def __str__(self):
    return self.errorinfo
class Line:
  def __init__(self, point1, point2):
    self.point1 = point1
    self.point2 = point2
    if point1.x==point2.x and point1.y==point2.y:
      raise LineError("Cannot create line") 
line = Line(Point(1, 2), Point(1, 2))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对pyqt5多线程正确的开启姿势详解

如下所示: # -*- coding: utf-8 -*- import sys from PyQt5.QtCore import QThread, pyqtSignal fro...

在pytorch中对非叶节点的变量计算梯度实例

在pytorch中对非叶节点的变量计算梯度实例

在pytorch中一般只对叶节点进行梯度计算,也就是下图中的d,e节点,而对非叶节点,也即是c,b节点则没有显式地去保留其中间计算过程中的梯度(因为一般来说只有叶节点才需要去更新),这样...

Python操作Redis之设置key的过期时间实例代码

Expire 命令用于设置 key 的过期时间。key 过期后将不再可用。 r.set('2', '4028b2883d3f5a8b013d57228d760a93') #成功就返回...

python读取大文件越来越慢的原因与解决

python读取大文件越来越慢的原因与解决

背景: 今天同事写代码,用python读取一个四五百兆的文件,然后做一串逻辑上很直观的处理。结果处理了一天还没有出来结果。问题出在哪里呢? 解决: 1. 同事打印了在不同时间点的时间,在...

详解使用 pyenv 管理多个版本 python 环境

 随着同时开发的项目越来越多,需要不停的在各个不同版本的 python 环境之间切换,所以想到了pyenv。以前一直使用的 virtualenv只能管理同一个 python 版...