首页 > 编程语言 >python--异常捕获+类的创建+类属性

python--异常捕获+类的创建+类属性

时间:2024-03-17 09:29:24浏览次数:17  
标签:python 捕获 except try -- 报错 print 异常 属性

异常处理

写法一

try:
可能会报错的代码
print(‘不报错执行’)
except:
print(‘报错的时候执行’)

写法二

try:
# 可能报错的代码
print(‘不报错执行1’)
except:
print(‘报错的时候执行’)
else:
print(‘不报错执行2’)

写法三

try:
# 可能报错的代码
print(‘不报错执行1’)
except:
print(‘报错的时候执行’)
else:
print(‘不报错执行2’)
finally:
print(‘一定执行’)
# 关闭数据库

手动抛异常(了解)

raise Exception(‘自定义异常’)

import traceback

try:
    if 2>1:
        raise Exception('自定义异常')
except Exception as e:
    # 打印异常信息
    print(e,traceback.print_exc())

首先,我们导入了traceback模块,它可以帮助我们打印异常的堆栈跟踪信息。
然后,我们使用try/except块来捕获异常。在本例中,我们假设如果2大于1,就会引发一个自定义的异常。
如果捕获到了这个异常,我们将其打印出来。同时,我们还可以使用traceback模块来打印出异常的堆栈跟踪信息。
因此,这段代码的功能是:首先尝试计算2>1,如果结果为真,就会引发一个自定义的异常;然后使用try/except块来捕获这个异常;如果捕获到了这个异常,就会打印出异常信息和堆栈跟踪信息

类的概念

类的定义

类就是拥有相同属性和功能的对象的集合
动物:猫 狗 鸡
人类:吃饭、睡觉、工作、赚钱

对象

对象就是类的实体

封装

隐藏了对象的属性和实现细节,只是对外提供接口或者入口

类的创建

class 类名称:
class 类名称():

类属性

5.1、定义在类里面,在方法(函数外面)的属性,就叫类属性
5.2、类属性的访问:类名称.类属性名称
类属性可以直接访问,不需要实例化

实例属性

class Dog:
    dog_name = '小黑' #  类属性1
    dog_color = '黑色' #  类属性2

    # 实例方法
    def eat(self):
        print(Dog.dog_name,'吃肉')

    # 看家
    def look(self):
        print(Dog.dog_color,'看家')

a = Dog() # 实例化
a.look()# 类实例调用实例方法

标签:python,捕获,except,try,--,报错,print,异常,属性
From: https://blog.csdn.net/JennyXi2001/article/details/136774978

相关文章

  • 从SLC 到 MLC、TLC颗粒
    *以下是个人对相关基础知识的梳理和总结,对于高度专业性的知识个人理解可能会有出入,如果有误,希望各位大佬不吝指教;1.SLC颗粒 (Single-LevelCell)   SLC颗粒每个储存单元只存储一个信息位(即“0”或“1”),因此其存储容量相对较小,单位存储成本相对较高;但也正是由于SLC颗粒的......
  • 小集训
    因为本来写闲话的初衷之一是为了让自己不颓而最近闲话写得少了+颓的多了鉴定为不写闲话导致的开胃小菜gugeguge(看到某人在吃东西):把门打开,知道门上写的啥吗某人:嗯guge:给这些东西都扔了,然后再把门上的字抄50遍…………(过了一会)某人:老师我写完了guge:这下记住了吧某......
  • HDFSDATANODE数据传输详解
    本文主要阐述datanode中一个socket连接接收字节流的构成,帮助datanode的接收与处理数据。注意hadoop版本为3.1.1。写在前面Datanode本质上也是TCPServer,一般的TCPServer接到客户端请求以后会分配一个线程处理,对于Datanode而言,这个线程可以叫做Op处理连接。每个OP连接会多次和客户......
  • JAVA实现大文件分片上传断点续传
    直接上代码importorg.springframework.web.multipart.MultipartFile;importjava.util.concurrent.CompletableFuture;importorg.apache.commons.lang3.StringUtils;importlombok.extern.slf4j.Slf4j;importjava.text.DecimalFormat;importjava.io.*;@Slf4jpublic......
  • 手机端跨域问题
    java后端重定向到前端页面后,前端再次访问后端接口,后端取不到session里面的值了,怎么回事?在Java后端重定向到前端页面后,如果前端再次访问后端接口时,后端无法获取到session里面的值,可能有以下几种可能的原因:Session丢失或过期:如果后端重定向到前端页面后,session可能已经丢......
  • C++发布订阅者模式:实现简单消息传递系统
     概述:这个C++示例演示了发布者-订阅者模式的基本实现。通过`Event`类,发布者`Publisher`发送数据,而订阅者`Subscriber`订阅并处理数据。通过简单的回调机制,实现了组件间松散耦合的消息传递。好的,我将为你提供一个简单的C++实例,演示如何使用发布者-订阅者模式。在这个例......
  • 货车运输(LCA+最大生成树)
    货车运输这题会有重边,又因为求的是尽可能大的边中的最小值,所以我们可以先用最大生成树维护,如何用最大生成树呢?可以用Kruskal和并查集,顺便处理重边,处理完重边后,可以用倍增LCA求两点之间的最大载重量处理重边时,必须把dis在x,y相同情况下大的排在前,以保证最优,用并查集find判断是否......
  • C++文件操作实战:创建、写入、读取、修改文件一应俱全
     概述:此C++示例详解文件操作:创建、删除、判断存在、写入、读取和修改文件内容。清晰演示了常见文件处理方法及源代码实现。以下是一个简单的C++实例,演示如何进行文件操作,包括创建文件、删除文件、判断文件是否存在、向文件写入内容、读取文件内容以及修改文件内容。#include......
  • 查看宝塔mysql二进制文件 mysqlbinlog
    mysqlbinlog执行文件位置/www/server/mysql/binmysql-bin二进制日志位置/www/server/data/#/www/server/data/mysql-bin.000060把二进制导出为.sql文件#建议/www/server/data/mysql-bin.000060文件cp到mysqlbinlog文件执行目录并设置权限为www755./mysqlbinlogmysql-......
  • C++ 简单使用Json库与muduo网络库
    C++简单使用Json库与muduo网络库C++使用Json库测试代码均在Ubuntu20上运行首先下载json.hpp的代码链接然后和你的测试代码放在同一目录下面导入方式#include"json.hpp"usingjson=nlohmann::json;json序列化代码测试1voidtest1(){jsonjs;js["id"]={1......