Python学习笔记--创建最简单的自定义异常类

在Python中,当创建一个函数时,它应该执行一些操作或返回一些值。如果函数为空,则没有实际的操作或返回值,这是不符合函数设计的初衷的。因此,在Python中,函数体不能为空,必须至少包含一个语句,即使它只是一个 pass 语句。比如:

def get_user(userid):pass

  上面代码创建一个函数,函数体内没有任何逻辑代码,但是需要一个pass语句,否则系统会报错。

在程序中,往往会自定义异常类,某些时候作为函数的返回值作用。

自定义异常类通常是为了表示特定情况下的错误或异常状态,而它们本身并不执行任何操作。因此,自定义异常类可以为空,不包含任何方法或属性。当然,您可以在自定义异常类中添加方法或属性以提供更多的功能或信息,但这并不是必须的。比如:

class UnableToCreateUser(Exception):"""当无法创建用户时抛出"""def create_user_from_name(username):"""通过用户名创建一个User实例:param raises: 当无法创建用户时抛出UnableToCreateUser"""if validate_username(username):return User.from_usernmae(username)else:raise UnableToCreateUser(f'无法创建用户:{username}')try:user = create_user_from_name(username)
except UnableToCreateUser:# 捕获UnableToCreateUser,处理异常...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/649733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity UIBasePanel 简单的ui基类

简单的ui基类 UIBasePanel.cs using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; using System.Collections.Generic;namespace MYTOOL.UI {public class UIBasePanel : MonoBehaviour{//通过里式转换原则 来存储所有的控件private readonly Dictio…

HttpHeaders 源码中headers成员变量为什么声明为final

源码如下 public class HttpHeaders implements MultiValueMap<String, String>, Serializable {private final Map<String, List<String>> headers;public String getFirst(String headerName) {List<String> headerValues (List)this.headers.get(…

2024最新版Visual Studio Code安装使用指南

2024最新版Visual Studio Code安装使用指南 Installation and Usage Guide for the Latest Visual Studio Code in 2024 By JacksonML Visual Studio Code最新版1.85已经于2023年11月由其官网 https://code.visualstudio.com正式发布&#xff0c;这是微软公司2024年发行的的最…

Android App开发基础(1)—— App的开发特点

本文介绍基于Android系统的App开发常识&#xff0c;包括以下几个方面&#xff1a;App开发与其他软件开发有什么不一样&#xff0c;App工程是怎样的组织结构又是怎样配置的&#xff0c;App开发的前后端分离设计是如何运作实现的&#xff0c;App的活动页面是如何创建又是如何跳转…

TensorFlow2实战-系列教程3:猫狗识别1

&#x1f9e1;&#x1f49b;&#x1f49a;TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 1、项目介绍 基本流程&#xff1a; 数据预处理&#xff1a;图像数据处理&#xff0c…

Git 对文件名大小写不敏感的问题解决方案

目录 一、Git 对文件名大小写不敏感1.1 问题描述1.2 原因分析1.3 解决方案方式一&#xff1a;使用git命令进行修改方式二&#xff1a;关闭git 忽略大小写配置 &#xff08;可以当前项目设置&#xff0c;也可以全局设置 --global&#xff09; 二、新的问题&#xff08;重复的目录…

Web3:B站chainlink课程Lesson5遇到的小坑汇总

ethers代码 我用的ethers.js 6 &#xff0c;和视频里一样用的是5的不用看代码部分 ethers.providers.JsonRpcProvider("server") //无了 ethers.JsonRpcProvider("server") //现在的wallet.getTransactionCount() //无了 wallet.getNonce() //现在的Big…

已解决:安卓,怎么优雅接入科大讯飞语音评测功能?

写在前面&#xff1a; 网上关于讯飞接入的博客都很少&#xff0c;按说讯飞都是业界翘楚&#xff0c;不知为何&#xff0c;很少搜索到精品&#xff0c;一搜就是一个要求开会员的博客&#xff0c;我也是醉了。讯飞提供的文档也是不清晰&#xff0c;我是摸着石头过河&#xff0c;…

java集合ArrayList和HashSet的fail-fast与fail-safe以及ConcurrentModificationException

在 java 的集合工具类中&#xff0c;例如对 ArrayList 或者 HashSet 进行删除元素后再遍历元素时&#xff0c;会抛出 ConcurrentModificationException 异常。 fail-fast ArrayList public class TestList {public static void main(String[] args) {ArrayList<Integer>…

【iOS ARKit】BlendShapes

BlendShapes 基础介绍 利用前置摄像头采集到的用户面部表情特征&#xff0c;ARKit 提供了一种更加抽象的表示面部表情的方式&#xff0c;这种表示方式叫作 BlendShapes,BlendShapes 可以翻译成形状融合&#xff0c;在3ds Max 中也叫变形器&#xff0c;这个概念原本用于描述通过…

Ubuntu18编译jdk8源码

环境 系统 ubuntu18 Linux ubuntu 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux jdk源码openjdk-8u41-src-b04-14_jan_2020.zip bootJdk jdk-8u391-linux-x64.tar.gz ps -e|grep ssh sudo apt-get install ssh…

【MATLAB第92期】基于MATLAB的集成聚合多输入单输出回归预测方法(LSBoost、Bag)含自动优化超参数和特征敏感性分析功能

【MATLAB第92期】基于MATLAB的集成聚合多输入单输出回归预测方法&#xff08;LSBoost、Bag&#xff09;含自动优化超参数和特征敏感性分析功能 本文展示多种非常用多输入单输出回归预测模型效果。 注&#xff1a;每次运行数据训练集测试集为随机&#xff0c;故对比不严谨&…

京东广告算法架构体系建设--在线模型系统分布式异构计算演变 | 京东零售广告技术团队

一、现状介绍 算法策略在广告行业中起着重要的作用&#xff0c;它可以帮助广告主和广告平台更好地理解用户行为和兴趣&#xff0c;从而优化广告投放策略&#xff0c;提高广告点击率和转化率。模型系统作为承载算法策略的载体&#xff0c;目前承载搜索、推荐、首焦、站外等众多广…

Linux 远程服务器与本地互传文件

本地传远程服务器: 你可以使用 scp 命令将整个文件夹复制到远程服务器上。以下是一个示例命令&#xff1a; scp -r /home/wanghaiyang/Documents/DockerServer/docker_compose_project/apollo apollo254.564.257.12:/home/apollo/code/docker_compose/ 请确保将 /home/wangh…

Word插入音乐视频文件快速方法 exe zip doc apk txt pdf bat等

需求&#xff1a; Word插入文件有哪些极限操作&#xff1f;如何快速插入音乐视频等文件 问题解决&#xff1a; 使用拖动进行文件快速插入&#xff08;PPT Excle 同理&#xff09; 操作 1.让文件和word界面处于同一屏幕&#xff0c;可以使用分屏 2.鼠标选中文件左键或者使用笔…

一些反序列化总结

1 反序列化漏洞原理 如果反序列化的内容就是那串字符串&#xff0c;是用户可以控制的&#xff08;即变量的值&#xff09;&#xff0c;且后台不正当的使用了PHP中的魔法函数&#xff0c;就会导致反序列化漏洞&#xff0c;可以执行任意命令。Java 序列化指 Java 对象转换为字节序…

面试经典 150 题 ---- 合并两个有序数组

面试经典 150 题 ---- 合并两个有序数组 合并两个有序数组方法一&#xff1a;直接合并后排序方法二&#xff1a;双指针方法三&#xff1a;逆向双指针 合并两个有序数组 方法一&#xff1a;直接合并后排序 这种方法最简单&#xff0c;直接将 nums2 的数组放到 nums1 数组的尾部…

Flink问题解决及性能调优-【Flink根据不同场景状态后端使用调优】

Flink 实时groupby聚合场景操作时&#xff0c;由于使用的是rocksdb状态后端&#xff0c;发现CPU的高负载卡在rocksdb的读写上&#xff0c;导致上游算子背压特别大。通过调优使用hashmap状态后端代替rocksdb状态后端&#xff0c;使吞吐量有了质的飞跃&#xff08;20倍的性能提升…

2024年,你是否还在迷茫?

2024年&#xff0c;你是否还在迷茫&#xff1f; 别担心&#xff01;鸿蒙来了&#xff0c;这个未来技术的制高点&#xff0c;为你提供了答案&#xff01; 诸多大厂疯抢、24年预计鸿蒙相关的岗位需求将达到百万级、就业均薪达到19K&#xff0c;全国高校开课…… 种种现象都在表…

VirtualBox安装Ubuntu22.04

目录 1、新建虚拟机 1.1、设置内存大小 1.2、创建虚拟硬盘 2、虚拟机设置 2.1、设置启动顺序​编辑 2.2、选择iso镜像文件 2.3、设置网络(桥接网卡) 3、启动 3.1、设置语言环境 3.2、系统更新安装(不更新) 3.3、选择键盘布局(默认即可) 3.4、选择安装类型 3.5、网…