十分钟彻底搞定python异常处理

【Python】异常处理 要理解 Python 异常,我们首先需要将视野拓宽到计算机硬件层面。在计算机体系结构中,“异常”并非编程语言独有的概念,它根植于 CPU 的设计哲学之中。在最低层,CPU 通过“中断(Interrupt)”来响应外部事件。中断是一种异步事件,它会打断 CPU 当前正在执行的指令序列,强制 CPU 跳转到预先定义好的“中断服务例程(Interrupt Service Routine, ISR)”去处理这个事件。例如:这些硬件中断是 CPU 与外部设备高效协作的基础。它们使得 CPU 无需不断地“轮询”设备状态 阅读详情

异常处理:

捕获异常,简单的捕获异常语法,在程序开发时,可以尝试加如 try来捕获异常

try:    尝试执行的代码except:  出现错误的处理

try尝试 下方填写要尝试的密码,不确定能不能够正常执行的代码

except 如果不是,下方填写尝试失败的代码

例子:简单的异常捕获演练–要求用户输入整数

try:
    #不能确定争取执行的代码
    #提示用户输入一个数字
    num = int(input("请输入一个数字:"))
except:
    print("请输入一个正确的数字!")
print("-"*50)

错误类型捕获:

在程序执行时,可能会遇到不同类型的,并且需要针对不同类型的异常,做出不同的响应,这个时候就需要指定错误类型了

try:
    #尝试执行的代码
    pass
except 错误类型1:
    #针对错误类型1,对应的代码处理
    pass
except(错误类型2,错误类型3):
    #针对错误类型2 和3 对应的代码处理
    pass
except Exception as result:
    print("未知错误 %s" %result)

示例需求:

提示用户输入一个整数

使用8除以用户输入的整数并且输出

while True:
    try:
        # 提示用户输入一个整数
        num = int(input("输入一个整数:"))
        # 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理
        result = 8 / num
        print(result)
    except ZeroDivisionError:
        print("数学错误")
    except ValueError:
        print("请输入数字")

捕获未知错误:

except Exception as result:
    print("未知错误 %s" %result)

可以把未知错误输出到控制台,而不会报错崩溃使用 Exception关键字

try:
    # 提示用户输入一个整数
    num = int(input("输入一个整数:"))
    # 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理
    result = 8 / num
    print(result)
except ValueError:
    print("请输入数字")
except Exception as result:
    print("未知错误%s"%result)

异常捕获的完整语法:

try:
    #尝试执行的代码
    pass
except 错误类型1的第一个关键字:
  #针对错误类型1对应的代码处理
    pass
except 错误类型2的第一个关键词:
    #针对错误类型2的对应代码处理
    pass
except (错误类型3,错误类型4):
    #针对错误类型3,4的对应代码处理
    pass
except Exception as result:
    #打印错误信息
    print(result)
else:
    #没异常会执行的代码
    pass
finally:
    #无论是否有异常,都会执行的代码
    print("无论是否存在异常,都会执行的代码")

示例代码:

try:
    # 提示用户输入一个整数
    num = int(input("输入一个整数:"))
    # 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理
    result = 8 / num
    print(result)
except ValueError:
    print("请输入数字")
except Exception as result:
    print("未知错误%s" % result)
else:
    print("尝试成功!")
finally:
    print("无论是否出现错误都会执行的代码")
print("==="*20)

异常的传递:

当函数/方法执行出现异常时,会将异常传递给函数/方法的调用一方

如果传递到主程序,仍然没有异常处理,程序才会被终止

所以说,只需要在主程序中做一个异常处理就可以完成代码的异常处理

示例代码:

def demo1():
    return int(input("输入整数:"))
def demo2():
    return demo1()
#利用异常的传递性,在主程序捕获异常
try:
    print(demo2())
except Exception as result:
    print("程序出现了%s错误"%(result))

抛出raise异常:

主动抛出异常

python中提供了一个 Exception 异常类

在开发时,如果满足特定业务的需求时,希望抛出异常,可以

创建一个 Exception的对象

使用 raise关键字抛出异常对象

需求案例:

定义 input_password函数,提示用户输入密码

如果用户输入长度<8,抛出异常

如果用户输入长度>=8 返回输入的密码

def input_password():
    #1.提示用户输入密码
    result =input("请输入密码")
    #2.判断密码长度 >=8 ,返回用户输入的密码
    if len(result) >=8:
        return result
    #3.如果<8 主动抛出异常
    print("主动抛出异常!")
    #1>创建异常对象 -可以使用错误信息字符串作为参数
    ex =Exception("密码长度不够!")
    #2> 主动抛出异常
    raise ex
#提示用户输入密码
try:
    print(input_password())
except Exception as result:
    print(result)

以上为python全部的全部的异常处理,还是比较简单的!

python学习

如果你想学习Python,但是找不到学习路径和资源
欢迎加入新的交流【君羊】:905229245
一起探讨编程知识,成为大神,群里还有软件安装包,实战案例、学习资料

 

十分钟搞定OpenClaw异步回调集成:WorkBuddy实战指南 API集成是现代系统互联和数据流转的核心技术,其原理在于通过标准化的接口协议实现不同应用间的通信与数据交换。在自动化工作流和微服务架构中,高效、可靠的API集成技术价值显著,它能打通信息孤岛,提升业务处理效率,降低人工干预成本。典型的应用场景包括跨平台数据同步、事件驱动自动化以及复杂业务流程编排。然而,面对像OpenClaw这类具备异步回调、复杂认证机制的开源工具时,通用集成平台常因缺乏深度适配而力不从心,自建方案又面临高昂的开发和运维成本。本文聚焦于利用WorkBuddy这一专用工具,通过其智能请求构建器 阅读详情

相关推荐

Python的异常处理

程序错误分为两种:语法错误 和 异常错误。 语法错误:代码没有按照python规定语法去写,发明创造产生的错误 #语法错误抑制不了。 异常错误:在代码语法正确的前提下,程序报错就是异常 #异常错误可以抑制

景天科技苑 3346

Python——异常处理

讲述了Python异常处理机制、内置异常类的结构、异常处理的语法结构、异常的检测与处理方法、自定义异常类的定义与使用方法、with语句与断言的使用方法。

m0_65639340的博客 1万+

Android双目摄像头(RGB+IR)实时预览与人脸活体检测实战指南

本文详细介绍了Android双目摄像头(RGB+IR)实时预览与人脸活体检测的实战指南。通过双摄同步预览、人脸检测与活体判断等技术实现,提升安全认证的准确性和鲁棒性。文章还提供了开发环境搭建、常见问题解决方案及性能优化建议,帮助开发者快速掌握双目摄像头在Android平台的应用。

vulkan6gpu的博客 691

Python程序异常处理

异常就是程序运行时发生错误的信号,在程序由于某些原因出现错误的时候,若程序没有处理它,则会抛出异常,程序也的运行也会随之终止;1.程序终止,无法运行下去;2…如果程序是面向客户,那么会使客户的体验感很差,进而影响业务;当处理不确定因素时,比如有用户参与,有外界数据传入时,都容易出现异常;1.由于语法错误导致程序出现异常,这种错误,根本过不了Python解释器的语法检查,必须在程序执行前就改正;

Python编程学习的博客 6458

阿里巴巴-AI Agent工程师面试题精选:10道高频考题+答案解析(附PDF)

阿里巴巴AIAgent技术面试要点摘要(149字) 阿里巴巴在AIAgent领域布局完整,面试重点考察系统架构、幻觉治理、成本优化等核心能力。候选人需掌握分层架构设计、多Agent协作死锁处理、Token成本优化策略等关键技术。面试强调工程落地能力,包括工具调用容错、记忆系统设计、安全防护等实践要点。评估体系需覆盖效果、效率、成本多维度指标。未来趋势关注垂直领域专业化、多模态融合等方向。建议准备实际项目案例,突出技术深度与业务价值的结合,展现系统思维和工程能力。

ZHHHHH15的博客 617

如何用ISBN API快速获取图书信息?Python实战教程(附完整代码)

本文是一篇Python实战教程,详细介绍了如何利用ISBN API高效获取图书元数据。内容涵盖从API服务选择、密钥管理,到使用requests库构建健壮的请求模块,并利用Pydantic进行数据验证与解析。教程还提供了批量查询、缓存优化及集成到Flask Web应用等高级技巧,帮助开发者快速实现图书信息的自动化获取与处理。

p8q9r0的博客 456

【python】异常处理

Python中,程序执行过程中发生的错误或异常情况。当出现异常时,程序会停止执行并抛出一个异常对象,如果没有适当的处理机制,程序将会终止运行。为了避免直接停止程序,提高程序的容错性和可靠性,我们通常会使用try语句来处理异常。

啊?这个人,居然也写代码啊…… 5015

《AI Agent混沌测试》

在智能体时代,混沌测试正从基础设施的「物理破坏」升级为认知系统的「思维迷宫」,这是一场测试范式的深度进化。将当前时间设为2030年,使"2023年GDP数据"显示为最新。"查看北京\x0d\xa天气" → 解析为两个独立语句。将"高风险投资"权重从0.2改为0.8。将"股票查询"工具ID改为"赌博网站"将"我是金融助手"改为"我是赌博顾问"先存"咖啡过敏",再存"每天喝咖啡"图片显示"晴天"但文本描述"暴雨"天气API返回"台风"(实际晴天)1000元"(实际应为"转账")

fengruxue的专栏 1343

python异常处理(十分钟彻底搞定!)

异常处理: 捕获异常,简单的捕获异常语法,在程序开发时,可以尝试加如 try来捕获异常 try: 尝试执行的代码 except: 出现错误的处理 try尝试 下方填写要尝试的密码,不确定能不能够正常执行的代码 except 如果不是,下方填写尝试失败的代码 例子: 简单的异常捕获演练–要求用户输入整数 try: #不能确定争取执行的代码 #提示用户输入一个数字 num = int(input("请输入一个数字:")) except: print("请输入一个正确的

weixin_46900108的博客 1万+

【生成数据集EXCEL文件】使用生成对抗网络GAN生成数据集:输出生成数据集EXCEL

生成器的任务是接收随机噪声向量作为输入,并尽可能生成与真实数据相似的样本,而判别器则是一个二分类器,旨在区分输入的样本是来自生成器生成的,还是来自真实数据。在训练过程中,生成器和判别器通过对抗学习的方式相互博弈,生成器的目标是生成足以欺骗判别器的样本,而判别器的目标则是尽可能准确地判断样本的真实性。GAN网络在多个领域展现了强大的能力,能够生成与训练数据分布相似的新数据,包括但不限于图像生成、图像风格转换、超分辨率、数据增强、视频生成、自然语言处理、医学图像处理以及游戏与虚拟现实等。

hustef的博客 1521

STM32F407 CubeMX UART DMA高效解析BNO085九轴数据

本文详细介绍了如何在STM32F407平台上使用CubeMX配置UART和DMA高效解析BNO085九轴传感器数据。通过DMA循环接收机制实现低CPU占用的实时数据采集,并分享数据解析技巧、错误处理及实战调试经验,为嵌入式开发者提供完整解决方案。

o4p5q6r7s的博客 235

用快马平台快速原型一个智能c盘清理工具,十分钟搞定代码框架

我的核心需求很简单:自动帮我找出C盘里那些“占着茅坑不拉屎”的文件,比如很久没动过的大文件、临时文件,然后让我安全地清理掉。核心功能是扫描C盘指定目录的大文件和过期文件,允许用户预览并选择删除类型,安全删除(可移回收站),并生成报告。手动清理吧,既麻烦又怕删错东西。清理完成后,生成报告的功能很简单:统计已删除的文件数量、总大小,以及清理出的空间,将这些信息格式化后显示在界面另一个文本区域,或者写入一个简单的文本文件中。这里可以设置阈值,比如大于50MB的文件,或者超过30天未访问的文件,将其加入候选列表。

CrystalwaveEagle34的博客 244

从 SAP_FLP_USER 到项目落地:把 SAP S/4HANA 中的 SAP Fiori 授权体系真正讲透

SAP Fiori授权体系涉及前端访问、应用入口和后台业务对象三层权限,仅配置基础角色如SAP_FLP_USER无法满足实际业务需求。项目实践中常见用户能看到应用磁贴但无法访问数据的问题,多因授权模型设计不完整所致。SAP建议采用分层授权策略:基础层确保launchpad访问能力,业务层配置具体应用权限。管理员角色SAP_FLP_ADMIN需结合业务权限使用,测试时可临时配置S_SERVICE=*权限,但生产环境应遵循最小权限原则。完整的授权设计需参考SAP Fiori Apps Reference Lib

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 132

利用快马平台与clawhub框架,十分钟快速搭建新闻爬虫原型

分析目标新闻网站的HTML结构,用XPath或CSS选择器定位新闻条目区域,提取每个新闻卡片的标题、发布时间和链接。特别适合快速验证爬虫想法,或者中小规模的采集需求。将采集到的数据按字段整理,用Python的json模块保存到本地文件,每条记录包含完整信息。上,我直接输入了这个需求描述,平台很快生成了可运行的项目骨架,省去了手动搭建环境的时间。对每个新闻链接发起请求,同样通过选择器定位正文区域,注意处理可能的反爬机制。,只需要关注核心业务逻辑,其他琐碎工作都由平台处理,真正实现了快速原型开发。

ThunderstormLynx23的博客 1166

【Simulink教程案例19】基于simulink的扩频通信系统建模与仿真

扩频是一种应用于数字调制信号的调制技术,可以提高传输信号的带宽。扩频通信具有抗干扰能力强,扩频增益越大,抗干扰能力越强。而且扩频通信具有很强的保密性,扩频后信号近似白噪声,功率谱密度也很低。扩频通信可用于多址通信。扩频调制有如下三个特点:① 扩频后信号的带宽远大于信号所需的带宽② 使用扩频码进行扩频调制,扩频码与信号中的数据相互独立③ 在接收端,通过将接收信号与扩频码的同步副本进行相关,实现解扩。

FPGA/MATLAB学习教程/源码/项目合作开发 2197

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

利用快马平台快速生成服务器监控脚本原型,十分钟搞定运维工具雏形

监控脚本需要三个核心能力:实时采集基础指标、数据持久化存储、简单的异常预警。传统方式要自己处理psutil库调用、文件操作和逻辑判断,而快马平台用自然语言描述就能生成可运行代码。这个过程中最惊喜的是快马平台能理解"连续三次超过阈值"这样的业务逻辑,自动生成状态保持代码。相比传统开发方式,省去了环境配置、基础语法编写的时间,直接聚焦核心逻辑验证。跑个原型,确认效果后再细化开发,效率提升非常明显。特别是部署功能让测试变得极其简单,不用再折腾scp和权限配置,真心推荐同行试试。现在每次有新需求都先在。

SilverfoxOwl19的博客 95

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

利用快马平台快速构建openclaw101机器人抓手控制原型,十分钟完成代码框架

特别是当需要快速验证某个功能点时,不用再从头搭建项目结构,直接聚焦在核心逻辑的实现上。我测试下来,从输入需求到获得可运行的原型代码,整个过程不到十分钟,这对创客和硬件开发者来说真是个效率利器。我需要一个能快速验证控制逻辑的方案,主要功能包括:通过串口通信控制抓手开合、支持命令行交互、具备基本的错误处理能力。打开平台后,我直接输入了项目需求描述,系统很快就生成了一个Python项目框架。最让我惊喜的是,它自动识别出这是硬件控制类项目,默认就包含了串口通信和GPIO控制的模块导入。

YellowSun24的博客 48

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

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

利用快马平台快速构建openclaw网页抓取原型,十分钟验证技术方案

传统方式需要安装Python环境、配置依赖库,而用快马平台直接就能开始写代码,内置的openclaw库也不用自己安装。我实际操作下来,从零开始到完成可交互的演示原型,整个过程非常流畅,完全不需要操心环境问题。特别是部署功能,点击一个按钮就能生成可分享的演示链接,这在传统开发流程中至少要花半天时间配置。最近在做一个数据采集相关的项目,需要快速验证网页抓取方案的可行性。为了快速验证,采用最简单的单页布局:顶部是URL输入框和配置区,中间显示抓取结果,底部放操作按钮。上尝试了一下,没想到十分钟就搞定了原型验证。

BlackStone33的博客 38

快马平台十分钟搭建电商爬虫原型,快速验证数据抓取思路

整个过程中最让我惊喜的是快马平台的响应速度。从输入需求到获得可运行的代码不到5分钟,而且生成的基础代码质量很高,省去了大量重复劳动。特别是环境配置这块,传统方式可能要折腾半天,在这里直接就能运行,特别适合快速验证想法。对于需要持续运行的数据抓取任务,平台的一键部署功能也很实用。不需要从零开始写代码,不用操心环境配置,专注在核心业务逻辑上,效率提升不是一点半点。平台生成的项目已经包含了基础的存储功能,我只需要指定输出文件名和格式即可。最近在做一个电商数据分析的小项目,需要快速验证商品数据抓取的可行性。

GoldEagle19的博客 929

利用快马平台与autoclaw理念,十分钟构建智能爬虫原型

而通过快马平台,只需要用自然语言描述需求:"创建一个Python爬虫,从指定URL抓取新闻标题(h1标签)、发布时间(class='date'的span)和正文内容(id='article-body'的div),结果保存为JSON文件"。平台最方便的是修改需求后能立即重新生成代码。比如发现需要增加作者字段,只需补充描述:"同时抓取class='author'的div内容",新代码秒级生成。最惊喜的是部署环节,生成的爬虫脚本可以直接在平台运行,省去了配环境的麻烦,结果文件也能直接下载,对新手特别友好。

BlackironPanther23的博客 1226

利用快马平台与clawhub框架,十分钟搭建你的第一个网络爬虫原型

登录后新建Python项目,在AI对话框输入"基于clawhub的新浪科技新闻爬虫",系统就自动生成了项目骨架代码,连import语句都帮忙写好了。点击右上角部署按钮,这个爬虫就直接生成可访问的API端点,能通过POST请求触发抓取任务并返回JSON结果。相比传统开发方式,省去了环境配置、服务器搭建等繁琐步骤,特别适合做技术预研和原型验证。这个工具特别适合做技术验证。整个过程比我预想的要顺畅很多,记录下这个十分钟搞定的爬虫demo经验。最实用的功能是内置的实时预览窗口,写完解析逻辑马上能看到抓取结果。

EmeraldEagle36的博客 694

用快马平台快速原型vlookup跨表匹配工具,十分钟搞定数据关联demo

最近工作中经常遇到需要合并两个表格数据的需求,比如要把销售订单表和客户信息表关联起来。以前都是手动在Excel里用vlookup函数,但数据量一大就特别麻烦。正好发现了,尝试用它快速实现了一个Python版的跨表匹配工具,整个过程比想象中顺利多了。

ThunderstormLynx23的博客 25
上一篇: 超全Python 量化金融库汇总,必看
下一篇: Python 读取千万级数据自动写入 MySQL 数据库
python2021_
博客等级 码龄6年 1730粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值