首页 > 编程语言 >【Python】易错点2——异常处理

【Python】易错点2——异常处理

时间:2024-06-08 09:57:45浏览次数:15  
标签:易错 divide Python except try result print 异常

1.异常处理 ——try 

异常

程序在运行的时候,如果python解释器遇到一个错误,会停止程序的执行,并且提示一些错误的信息,这就是异常。

我们在程序开发的时候,很难将所有的特殊情况都处理,通过异常捕获可以针对突发事件做集中处理,从而保证程序的健壮性和稳定性。

在程序开发中,如果对某些代码的执行不能确定(程序语法完全正确)可以增加try来捕获异常。

开发中常用的11种异常描述

 

 try...except...

 try:
        1

except:

        2

示例 

捕获ZeroDivisionError

def divide(a,b):
    try:
        result=a/b
        return result
    except  ZeroDivisionError:
        print("fenmu not 0")
        raise

 通过raise语句抛出这个异常

try:
    n1=10
    n2=0
    result=divide(n1,n2)
    print(f"result is {n1}/{n2}={result}")
except  ZeroDivisionError:
    print("除数为0的错误捕获成功")
解释

本示例定义了一个名为divide_number的函数,用于执行除法操作。函数接收两个参数ab,并尝试计算a/b的值。如果除数为0,则会捕获ZeroDivisionError异常,并打印错误消息。

在主程序中,将10除以0,这将触发divide_number函数中的ZeroDivisionError异常。当捕获到异常时,程序将打印出错误消息,并继续执行后续的代码。

万能异常Exception  
异常类只能来处理指定的异常情况,如果非指定异常则无法处理 如果你不知道可能会出现哪种异常,有二种方案,一是把所有可能的罗列出来,另一种是使用万能异常exception。 
s1 = 'hello'
try:
    int(s1)
except Exception as e:
    print(e)
try..except...else...finally
流程 

 示例
s1 = 'hello'

try:
    int(s1)
except IndexError as e:
    print(e)
except KeyError as e:
    print(e)
except ValueError as e:
    print(e) 
# except Exception as e: 
    # print(e) 

else:
    print('try内代码块没有异常则执行我')

finally:
    print('无论异常与否,都会执行该模块,通常是进行清理工作')
 raise
作用
触发一个错误,让程序进入异常状态,发送错误通知给程序调用者——主动触发异常 

 

示例 
def divide(a,b):
    if b==0:
        raise ValueError("除数不能为0")
    return a/b

try:
    divide(5,0)
except ValueError as e:
    print("Error is ",e)

标签:易错,divide,Python,except,try,result,print,异常
From: https://blog.csdn.net/2302_81240667/article/details/139539454

相关文章

  • python学习笔记(pyautogui)1
       PyCharm安装库失败的大部分原因是pip与setuptools版本老了.感谢前辈发文,解决半年困惑.学习python主要搞自动化脚本,提高工作效率。  PyAutoGui是一个跨平台GUI自动化库,PyAutoGUI是一个Python模块,用于以编程方式控制鼠标和键盘。   PyAutoGUI可以模拟鼠......
  • 《Python程序设计(第二版)》第一二章冷门点上
    python小白考前复习1.编码(密码本)2.数字类型2.1整数你可以单独使用数字0,但不要前置它幂的优先级高于乘除2.2浮点数科学计数法divmod函数:同时计算商和余数慎用round(x,n)函数abs函数求模关于复数3.字符串类型R方法原始字符串的特点:示例普通字符串与原始字符串的对比原始......
  • JSON及Python操作JSON相关
    JSON及Python操作JSON相关Json简介及Python操作Json相关示例。1.JSON概念及支持的数据类型1.1什么是JSON?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。尽管JSON源于JavaScript,它与编程语言无关,目前被广泛应用于......
  • 【Python-因特网客户端编程-12】Python 提供了对 POP 和 IMAP 协议的支持
    Python提供了对POP和IMAP协议的支持一、使用Python代码与POP3和IMAP4邮件服务器进行通信使用`poplib`进行POP3操作示例:使用`poplib`获取邮件使用`imaplib`进行IMAP操作示例:使用`imaplib`获取邮件比较`poplib`和`imaplib`总结二、smtplib......
  • Python JSON教学
    JSON及Python操作JSON相关Json简介及Python操作Json相关示例。1.JSON概念及支持的数据类型1.1什么是JSON?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。尽管JSON源于JavaScript,它与编程语言无关,目前被广泛应用于......
  • 简单几步,用Python实现VPN搭建
    保护个人隐私和数据安全变得尤为重要。VPN(虚拟私人网络)是一种有效的解决方案,可以帮助我们在网络上匿名浏览,保护数据传输的安全性。虽然市面上有许多商业VPN服务,但你也可以通过Python自己搭建一个简单的VPN。本文将介绍如何用Python建立自己的VPN。基本原理VPN的工作原理是......
  • Bug记录:Content-Type 'application/json;charset=UTF-8' is not supported异常解决
    Content-Type'application/json;charset=UTF-8'isnotsupported异常解决前提:确定不是因为Content-Type导致的异常,controller层有注解@RequestBody。报错详情:确定不是因为缺少Jackson依赖或者版本过低:注意到报错信息上边有一条警告日志:.c.j.MappingJackson2HttpMessageCo......
  • python模块各类whl文件国内下载地址链接汇总
    序号项目名称下载地址1SciPy-1.11.4-pp310-pypy310_pp73-win_amd64.whl.zip点我下载2PyICU-2.12-cp311-cp311-win_amd64.whl.zip点我下载3gensim-4.1.1-cp39-cp39-win_amd64.whl.zip点我下载4gensim-4.1.1-cp38-cp38-win_amd64.whl.zip点我下载5gensim-4.1.1-cp37-cp37m-win......
  • python模块各类whl下载地址汇总
    序号项目名称下载地址1box2d-py-2.3.5-cp37-cp37m-win-amd64.whl.zip点我下载2pybullet-3.2.6-cp39-cp39-win_amd64.whl.zip点我下载3mediapipe-0.9.0.1-cp37-cp37m-win_amd64.whl.zip点我下载4python_Levenshtein-0.12.2-cp38-cp38-win_amd64.whl.zip点我下载5python_Leven......
  • Python的基本
    python之基本介绍 (1)什么是python python是一门编程语言 python是一门面向对象,解释型的动态类型的编程语言guidovanrossunm(吉多*范罗苏姆)在1989年发明,第一个公开发行版本与1991年;python在市面上的版本: python2.7(以前用的非常多) 目前用的版本是3.0版本 ......