当前位置:首页 > 文章列表 > 文章 > python教程 > Python中的try excpet BaseException怎么使用

Python中的try excpet BaseException怎么使用

来源:亿速云 2024-03-29 21:15:37 0浏览 收藏

从现在开始,努力学习吧!本文《Python中的try excpet BaseException怎么使用》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

try ...except 是最常见的捕获处理异常的结构,其主要作用是将可能出现问题的代码块用try :包裹起来,不至于出现错误让程序崩溃,无法执行下去

常见的try ...excpet 的结构有三种

try:
     pass
except BaseException as e :
    异常处理模块

try 中包含着可能发生异常的程序代码,except 块中包含着,发生异常后,用来捕获异常和处理异常代码

如果在try包含的模块中发生了异常则会跳转到 except的模块中,去执行 except中的代码,excpet中的模块会处理异常,如果没有发生异常,则程序不会执行except中的代码。

书写了一段用于测试会报错的代码块

try:
    test = eval(str(input("请输入一个字符串: ")))
    tests = test + "This is a piece of test code"
except BaseException as e:
    print("出现的错误可能是%s"%e)
print("这是一段测试输出")

Python中的try excpet BaseException怎么使用

错误提示: unsupported operand type(s) for +: 'int' and 'str'

不支持 :数据类型:“int”和“str”拼接(+)操作

一段正确的代码输入:

try:
    test = str(input("请输入一个字符串: "))
    tests = test + " "+"This is a piece of test code"
    print("输入正确的内容则会执行的代码块:",tests)
except BaseException as e:
    print("出现的错误可能是%s"%e)
print("这是一段测试输出")

Python中的try excpet BaseException怎么使用

字是不允许和字符串拼接的只有把数字转换成字符串才允许拼接。

这是一段没有用try except:处理的有问题代码块

如果不用try...except... :对可能出现的代码进行包裹,程序就会崩溃,影响后续代码进行

test = int(input("请输入一个字符串: "))
tests = test + " "+"This is a piece of test code"
print("这是一段测试输出")

Python中的try excpet BaseException怎么使用

多个except 语句、

如果写入的代码出错类型不太清楚,可以多写几个捕获异常语句,记得在最后加上一个except BaseException 用来做兜底操作(假如出现的错误都不是你用except 捕获的异常你可以用它来兜底),它是所有异常的父类包含了所有常见的异常

arr = {
    "xiaomi":"123",
    "xiaozhang":"456",
    "xiaodede":"7,8,9"
}
arrs = (1,2,3,4,5)
 
try:
    3 / 0
 
    print(arrs[6])
except IndexError :
    print('导入包失败')
except KeyError :
    print('在字典中找不到指定的键')
except ImportError :
    print("索引时没有找到指定序列")
#兜底捕获错误,BaseException 是所有错误的父类可以说是包含了所有常见的错误
except BaseException as e:
    print(arr["mayuanyuan"])
    print(e)

上述操作和下面的操作表达的功能是一致的,你也可以将所有可能出现的异常写在一个 except 中,异常和异常之间 用逗号隔开

arr = (1,2,3,4,5)
try:
    int("3.1415926")
    print(add)  # 未定义
    print(arr[6]) #超出索引
 
except (IndexError,NameError,ValueError)as e:
    print(e)

3 try... except... esle

如果try 中包含的代码块没有异常,则会接着执行else 中的语句,不会去执行 excpet中的代码块(这段代码只有try中的代码块抛出异常时,则会使用except去捕获)

try:
    arr = int(input("请输入一个整数: "))
except BaseException as e:
    print(e)
else:
    arrs = arr + 111
    print(arrs)
print("测试结束")

Python中的try excpet BaseException怎么使用

异常处理模块就讲到到这里了,我要谈到关于异常处理模块try except实际用途,有的博主会谈一些简单的案例,可能有的同学对这个模块认识的并不是很深入,为什么呢?

try:
   4 /0
except BaseException as e:
    print(e)
报错: division by zero

明明你知道是,除零操作,你为什么不改呢?有的错误你明明知道什么?故意把错误写出来,难道就是为了测试错误吗?

所以经过我的考虑给了大家一个好玩的

登录密码案例的操作,如果密码输入正确,则会提示登录成功,错误的话则会继续输入,错误输入大于三次时就会提示:"输入错误次数过多密码已锁定“

i = 0
while True:
    if i == 3:
        print("输入错误次数过多密码已锁定")
        break
    try:
        Divisor = str(input("请输入一个整数: "))
        # A = Divisor/1
        # B = A+1   #如果输出有误就不会执行加1操作直接跳到 except当中
        # print("结果是:",B)
        mima = 'ma123'
        if Divisor == mima:
            i = i+1
            print("登录成功,输入%s次"%i)
            break
    except:
        i = i+1
        print("密码输入错误请重新输入:")
print("登陆了%s次"%i)

这是关于“try... except... esle ”具有实际用途的一段代码

提示你输入密码,然后根据密码的内容进行适当的加密,拼接

md5 = []
try:
    Divisor = str(input("请输入你的密码: "))
 
except:
    print("密码输入错误")
else:
    for i  in  Divisor:
        if i == 1:
            i = "a"
        else:
            i == 2
            i = "b"
    md5.append(i)
    MD5 = Divisor + md5[0]
 
 
 
print("经过加密后的数据%s"%MD5)

到这里,我们也就讲完了《Python中的try excpet BaseException怎么使用》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于Python的知识点!

版本声明
本文转载于:亿速云 如有侵犯,请联系study_golang@163.com删除
网站安全开发实践:如何防止恶意文件上传网站安全开发实践:如何防止恶意文件上传
上一篇
网站安全开发实践:如何防止恶意文件上传
PHP商城开发中的最佳实践
下一篇
PHP商城开发中的最佳实践
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 毕业宝AIGC检测:AI生成内容检测工具,助力学术诚信
    毕业宝AIGC检测
    毕业宝AIGC检测是“毕业宝”平台的AI生成内容检测工具,专为学术场景设计,帮助用户初步判断文本的原创性和AI参与度。通过与知网、维普数据库联动,提供全面检测结果,适用于学生、研究者、教育工作者及内容创作者。
    12次使用
  • AI Make Song:零门槛AI音乐创作平台,助你轻松制作个性化音乐
    AI Make Song
    AI Make Song是一款革命性的AI音乐生成平台,提供文本和歌词转音乐的双模式输入,支持多语言及商业友好版权体系。无论你是音乐爱好者、内容创作者还是广告从业者,都能在这里实现“用文字创造音乐”的梦想。平台已生成超百万首原创音乐,覆盖全球20个国家,用户满意度高达95%。
    26次使用
  • SongGenerator.io:零门槛AI音乐生成器,快速创作高质量音乐
    SongGenerator
    探索SongGenerator.io,零门槛、全免费的AI音乐生成器。无需注册,通过简单文本输入即可生成多风格音乐,适用于内容创作者、音乐爱好者和教育工作者。日均生成量超10万次,全球50国家用户信赖。
    22次使用
  •  BeArt AI换脸:免费在线工具,轻松实现照片、视频、GIF换脸
    BeArt AI换脸
    探索BeArt AI换脸工具,免费在线使用,无需下载软件,即可对照片、视频和GIF进行高质量换脸。体验快速、流畅、无水印的换脸效果,适用于娱乐创作、影视制作、广告营销等多种场景。
    26次使用
  • SEO标题协启动:AI驱动的智能对话与内容生成平台 - 提升创作效率
    协启动
    SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
    27次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码