python基础--异常

从FP16到FP8:我是如何让Stable Diffusion 3.5提速40%而不丢画质的 本文分享了StableDiffusion模型优化的实战经验。通过FP8精度转换、分层处理敏感模块,实现显存占用降低35%、推理速度提升40%。文章详细介绍了提升画质的五大技巧、本地/云端/移动端部署方案,以及二次元模型定制等垂直领域应用。同时总结了硬件兼容性、数据质量等七大常见陷阱,并强调持续监控和伦理考量。作者指出未来应关注MoE架构、注意力机制优化等方向,认为技术优化是持续追求性能与质量平衡的过程。 阅读详情

异常

目标

  • 了解异常
  • 捕获异常
  • 异常的else
  • 异常finally
  • 异常的传递
  • 自定义异常

一. 了解异常

当检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常"。

例如:以r方式打开一个不存在的文件。

open('test.txt', 'r')

在这里插入图片描述

二. 异常的写法

2.1 语法

try:
    可能发生错误的代码
except:
    如果出现异常执行的代码

2.2 快速体验

需求:尝试以r模式打开文件,如果文件不存在,则以w方式打开。

try:
    f = open('test.txt', 'r')
except:
    f = open('test.txt', 'w')

2.3 捕获指定异常

2.3.1 语法

try:
    可能发生错误的代码
except 异常类型:
    如果捕获到该异常类型执行的代码

2.3.2 体验

try:
    print(num)
except NameError:
    print('有错误')

注意:

  1. 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。
  2. 一般try下方只放一行尝试执行的代码。

2.3.3 捕获多个指定异常

当捕获多个异常时,可以把要捕获的异常类型的名字,放到except 后,并使用元组的方式进行书写。

try:
    print(1/0)

except (NameError, ZeroDivisionError):
    print('有错误')

2.3.4 捕获异常描述信息

try:
    print(num)
except (NameError, ZeroDivisionError) as result:
    print(result)

2.3.5 捕获所有异常

Exception是所有程序异常类的父类。

try:
    print(num)
except Exception as result:
    print(result)

2.4 异常的else

else表示的是如果没有异常要执行的代码。

try:
    print(1)
except Exception as result:
    print(result)
else:
    print('我是else,是没有异常的时候执行的代码')

2.5 异常的finally

finally表示的是无论是否异常都要执行的代码,例如关闭文件。

try:
    f = open('test.txt', 'r')
except Exception as result:
    f = open('test.txt', 'w')
else:
    print('没有异常,真开心')
finally:
    f.close()

三. 异常的传递

体验异常传递

需求:

​ 1. 尝试只读方式打开test.txt文件,如果文件存在则读取文件内容,文件不存在则提示用户即可。

​ 2. 读取内容要求:尝试循环读取内容,读取过程中如果检测到用户意外终止程序,则except捕获异常并提示用户。

import time
try:
    f = open('test.txt')
    try:
        while True:
            content = f.readline()
            if len(content) == 0:
                break
            time.sleep(2)
            print(content)
    except:
        # 如果在读取文件的过程中,产生了异常,那么就会捕获到
        # 比如 按下了 ctrl+c
        print('意外终止了读取数据')
    finally:
        f.close()
        print('关闭文件')
except:
    print("没有这个文件")

四. 自定义异常

在Python中,抛出自定义异常的语法为 raise 异常类对象。

需求:密码长度不足,则报异常(用户输入密码,如果输入的长度不足3位,则报错,即抛出自定义异常,并捕获该异常)。

# 自定义异常类,继承Exception
class ShortInputError(Exception):
    def __init__(self, length, min_len):
        self.length = length
        self.min_len = min_len

    # 设置抛出异常的描述信息
    def __str__(self):
        return f'你输入的长度是{self.length}, 不能少于{self.min_len}个字符'


def main():
    try:
        con = input('请输入密码:')
        if len(con) < 3:
            raise ShortInputError(len(con), 3)
    except Exception as result:
        print(result)
    else:
        print('密码已经输入完成')


main()

五. 总结

  • 异常语法
try:
  	可能发生异常的代码
except:
  	如果出现异常执行的代码
else:
  	没有异常执行的代码
finally:
  	无论是否异常都要执行的代码
  • 捕获异常
except 异常类型:
  	代码

except 异常类型 as xx:
		代码
  • 自定义异常
# 1. 自定义异常类
class 异常类类名(Exception):
  	代码
    
    # 设置抛出异常的描述信息
    def __str__(self):
      return ...


# 2. 抛出异常
raise 异常类名()

# 捕获异常
except Exception...
基于YOLO26深度学习框架的人脸识别门禁系统的算法研究实现方法 本文研究了基于YOLO26深度学习框架的人脸识别门禁系统实现方法。系统采用YOLO26目标检测算法,通过CSPDarknet53主干网络、特征金字塔结构和注意力机制实现高效人脸检测。研究内容包括数据预处理、模型训练优化和身份验证等关键技术,使用迁移学习策略和CIoU损失函数提升检测精度。该系统可应用于智能安防场景,具有实时性强、识别准确的特点,为门禁管理提供了智能化解决方案。 阅读详情

相关推荐

经典损失函数——均方误差(MSE)和交叉熵误差(CEE)的python实现

损失函数(loss function)用来表示当前的神经网络对训练数据不拟合的程度。这个损失函数有很多,但是一般使用均方误差和交叉熵误差等。 1.均方误差(mean squared error) 先来看一下表达式: 用于将的求导结果变成,是神经网络的输出,是训练数据的标签值,k表示数据的维度。 用python实现: def MS...

Answer3664的博客 1万+

python教程:异常知识点

一. 了解异常 当检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常"。 例如:以r方式打开一个不存在的文件。 open('test.txt', 'r') 二. 异常的写法 1 语法 try: 可能发生错误的代码 except: 如果出现异常执行的代码 2 快速体验 需求:尝试以r模式打开文件,如果文件不存在,则以w方式打开。 try: f = open('test.txt', 'r') except: f = open('test.

python学习者的博客 303

从零到一:手把手教你用STM32F103C8T6打造个人专属开发板(附立创EDA工程与源码)

本文详细介绍了如何使用STM32F103C8T6微控制器从零开始设计和制作个人专属开发板。内容涵盖硬件选型、原理图设计、PCB布局、功能验证等全流程,并提供了立创EDA工程文件和源码,帮助开发者深入理解STM32开发板的硬件架构与设计要点。

weixin_26802933的博客 286

pyhton中异常和模块

pyhton中异常和模块 一、异常 # 需求:尝试打开test.txt(r),如果文件不存在,只写方式打开w """ try: 可能发生错误的代码 except: 发生错误的时候执行的代码 """ try: f = open('test.txt', 'r') except: f = open('test.txt', 'w') # NameError # print(num) # ZeroDivisionError print(1/0) 二、捕获异常 1.捕获异常 t

xiaotai1234的博客 325

万象RK3506-EG1800网关使用说明

摘要:HD-RK3506-EG1800是一款高性能工业物联网边缘计算网关,支持Buildroot和Ubuntu双系统。文档详细介绍了网关的网络配置(包括ETH0/ETH1的静态IP设置、WiFi连接)、时钟同步、HSL软件安装配置(含开机自启动服务)、系统日志优化以及刷机操作指南(Loader/Maskrom模式)。特别提供了基于lighttpd的网页管理方案,通过HTML界面实现网络参数可视化配置,包含身份验证、实时状态显示和表单提交功能。网关默认ETH0固定IP为192.168.1.10,提供完整的CL

tian_jiangnan的博客 175

2026年(新服务器默认密码)最新各大厂商默认凭证大全

本文整理了国内外主流服务器厂商的默认管理接口凭证信息,包括Dell、HPE、浪潮、华为等品牌的管理接口类型、默认用户名/密码和IP地址。特别强调国产服务器在信创环境下的安全风险,指出国内厂商部分型号仍保留固定默认密码(如浪潮admin/admin),而国际厂商多采用随机密码标签。文章提供了新机初始化安全流程建议:查找机箱标签、立即修改默认密码、配置网络隔离、更新固件等。最后提醒运维人员,服务器安全应从首次上电开始重视,管理接口暴露是重大风险点,必须严格执行安全规范。

你好,旧时光! 1712

python的条件判断及异常处理的类型

条件判断及组合: 操作符: 操作符 数学符号 描述 < < 小于 <= ≤ 小于等于 >= ≥ 大于等于 > > 大于 == = 等于 != ≠ 不等于 用于条件组合的三个保留字: 操作符及使用 描述 x and y 两个都成立才成立,两个条件x和y的逻辑与 x or y 一个成立就

超级程序诞生的博客 2913

什么是PMOS?什么是NMOS?两者有什么区别?

这个电压差被称为阈值电压(Vth),通常为0.7V至2V(低压NMOS)或4V至10V(功率NMOS)。当Vgs(栅极-源极电压)大于Vth时,沟道中的电子被吸引到栅极下方,形成导电通路,使电流可以从漏极流向源极。NMOS与PMOS的结构类似,都由三大部分组成:栅极(Gate)、源极(Source)和漏极(Drain)。由于NMOS在开启时,电子是主要的载流子,电子的迁移率比空穴高,因此NMOS通常具有更低的导通电阻(Rds(on)),这使其成为高速开关电路中的首选。它的沟道由电子(负载子)传导。

硅农深芯的博客 6442

python查看所有异常类_python 常见的异常类型

python标准异常异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopIteration迭代器没有更多的值GeneratorExit生成器(generator)发生异常来通知退出StandardError所有的内建标准异常的基类ArithmeticError所...

weixin_39692557的博客 437

英飞凌 AURIX 系列单片机的HSM详解(1)——何为HSM

1. 概述 随着汽车上通信系统越来越复杂,云端远程通信的场景越来越多,信息安全变得越来越重要,在通信领域常用的AES、SHA、RSA等加密算法被越来越多地应用到汽车上。但通常这类加解密算法都需要大量的数学运算,需要消耗很多CPU时间和资源,汽车上的ECU又有比较高的实时性要求,为了节省主CPU的资源,HSM应运而生。 HSM(Hardware Security Module),是MCU上专门用于实现加解密算法的一个外设,它一般会有一个独立的CPU,专门用来进行加解密运算,还有一些针对特定算法的硬件加速器(如

weixin_42967006的博客 4万+

从零构建:如何用MATLAB和SDR硬件搭建你的第一个OFDM卫星通信原型系统

本文详细介绍了如何利用MATLAB和SDR硬件从零构建OFDM卫星通信原型系统。通过核心组件选型、开发环境配置、OFDM算法实现到系统集成与优化的完整流程,帮助通信工程学生和DIY爱好者快速掌握软件无线电技术在卫星通信中的应用。特别推荐使用HackRF One和MATLAB工具箱实现高性价比的OFDM系统验证。

pz890123456的博客 378

python 查看错误类型

‘’’ 查看错误类型 ‘’’ try: a = int(input(‘请输入被除数’)) b = int(input(‘请输入除数’)) print(a/b) print(’******************’) except Exception as m: print(m)

weixin_44737399的博客 2162

WPF高级 | WPF 与数据库交互:连接、查询与数据更新

WPF高级 | WPF 与数据库交互:连接、查询与数据更新,在现代应用程序开发中,数据的存储和管理至关重要。Windows Presentation Foundation(WPF)作为一款强大的图形界面开发框架,常常需要与数据库进行交互,以实现数据的持久化存储、读取和更新。本文将深入探讨 WPF 与数据库交互的各个方面,包括数据库连接的建立、数据查询的执行以及数据更新的操作,并通过丰富的代码示例和详细的概念解释,帮助读者掌握这一关键技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 6万+

Python 基础 —— python 异常,抛出异常,自定义异常类

1、异常的语法 1)完整的异常处理语法格式: try: print(10/0) except NameError as e: print('出现 NameError 异常') except ZeroDivisionError as e: print('出现 ZeroDivisionError 异常') except IndexError as e: print('出现 IndexError 异常') except Exception as e : prin

猎人在吃肉 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python——异常

ython 中的异常是一种用于处理在程序执行期间可能发生的错误的机制。但是,通过使用 try...except 语句块,你可以捕获并处理这些异常,从而防止程序因为错误而完全停止。一个异常处理块可以引发另一个异常,同时保留原始异常的上下文。这样做的好处是,当新的异常被抛出时,调用者可以了解到新异常是由哪个原始异常触发的,这对于调试和日志记录特别有用。Python 提供了许多内置的异常类,用于处理不同类型的错误情况。是所有内建的非系统退出类异常的超类。模块来查看异常的完整调用栈。:与连接相关的异常的基类。

weixin_45720999的博客 1442

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Python中什么是异常,Python中有哪些异常

如前面所述,虽然Python代码通过了解释,但是在执行时仍有可能触发错误,而这类的错误就称为异常。大部分异常会导致程序无法继续执行。一旦程序运行后发现有异常,Python会直接显示异常的信息,通常包括:异常出现的地方、异常的类型和内容。如下:我们可以看到上述示例中的异常类型依次是:ZeroDivisionError, NameError 和 TypeError。

知智 6891

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Python基础之异常处理

发现有些东西长时间不用就要忘了,坚持每天复习总结一个`小知识点`吧~

车手只需要车和手,压力来自轮胎 8496

【Python基础】Python异常捕获

在 Python 中,异常(Exceptions)是指运行过程中发生的错误或异常情况,例如除数为零、变量未定义等。为了避免程序在运行时中断并提高程序健壮性,Python 提供了异常处理机制,允许程序捕获并处理异常情况。

AIGC 2400

Python基础——异常

异常

qq_46147573的博客 296

python基础7 异常捕获

Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。python有很多内置的标准异常,列表如下:python处理异常有两种语法结构:try....except...else和try....except...finally。具体示例如下: 也可以在一个分支类,处理多个异常类,语法结构如下: try....except...finally语法定义: 具体示例: 具体示例 示例中,testfil

genispan的专栏 1028

Python基础:异常及异常的处理

文章目录异常的概念捕获异常简单的捕获异常语法错误类型的捕获捕获未知错误异常捕获完整语法异常的传递主动抛出(raise)异常 异常的概念 程序在运行时,如果 python 解释器 遇到一个错误, 会停止程序的执行,并且提示一些错误信息, 这就是 异常 程序停止执行并且提示错误信息 这个动作,我们通常称之为: 抛出(raise)异常 开发时,很难将 所有的特殊情况 都处理的面面俱到,通过 ...

易编橙 · 终身成长社群,相遇已是上上签! 828

Python中如何处理异常?Python异常的处理

除了Python自带的异常外,开发者为了方便还可以自定义异常类。但是不论是以直接还是间接的方式,异常都应从 Exception 类派生。异常类可以被定义成能做其他类所能做的任何事,但通常应当保持简单,它往往只提供一些属性,允许相应的异常处理程序提取有关错误的信息。大多数异常命名都以 “Error” 结尾,类似标准异常的命名。许多标准模块都需要自定义异常,以报告由其定义的函数中出现的错误。自定义异常类testcatch。

知智 7440

python 抛出异常_python 异常

目标异常的概念捕获异常异常的传递抛出异常01. 异常的概念程序在运行时,如果 Python 解释器 遇到 到一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常程序停止执行并且提示错误信息 这个动作,我们通常称之为:抛出(raise)异常程序开发时,很难将 所有的特殊情况 都处理的面面俱到,通过 异常捕获 可以针对突发事件做集中的处理,从而保证程序的 稳定性和健壮性02. 捕获异常2.1...

weixin_39640008的博客 952

python中能主动引发异常的是_Python——异常基础

异常基础在Python中,异常会依据错误自己主动地被触发。也能由代码触发和截获。异常由五个语句处理:1.【try/except】:捕捉由Python或你引起的异常并恢复。2.【try/finally】:不管异常是否发生,运行清理行为。3.【raise】:手动在代码中触发异常。4.【assert】:有条件地在程序代码中触发异常。5.【with/as】:在Python2.6和兴许版本号中实现环境管理器...

weixin_39722070的博客 1223

python之捕捉异常

重点介绍如何捕捉异常,try……except语句的基本用法、以及如何捕捉多个异常等

sdqqz的博客 5944

Python基础教程学习—Python异常学习

在Windows平台上,有一个 Python 程序,它在被调用后会记住其状态,并在系统崩溃或重新启动时恢复状态。该程序实际上运行一些其他可执行程序,或者从技术术语上讲是框架类型的。

2301_78217634的博客 760
上一篇: 面向对象-其他(多态、类)
下一篇: Python基础--模块和包
Jared  Chen
博客等级 码龄7年 559粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jared Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值