当前位置: 首页 > news >正文

韩国设计app网站有哪些/百度一下百度网站

韩国设计app网站有哪些,百度一下百度网站,做网站后台数据库建设,网页设计与网站开发教程1. 异常的概念 程序运行时,如果python解释器遇到一个错误,会停止程序的执行,并且提示一些错误信息,这就是异常。程序停止执行并且提示错误信息这个动作,我们通常称之为:抛出(raise)异常 程序开发时&#…

1. 异常的概念

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

2. 捕获异常

2.1 简单的捕获异常语法

  • 在程序开发中,如果对某些代码的执行不能确定是否正确,可以增加try来捕获异常
  • 捕获异常最简单的语法格式
try:尝试执行的代码
except:出现错误的处理
  • try 尝试,下方编写要尝试的代码,不确定是否能够正常执行的代码
  • except 如果不能,下方编写错误的处理代码
try:# 不能确定正确执行的代码num = int(input("请输入一个整数:"))
except:# 错误的处理代码print("请输入正确的整数")# 无论是否出现错误,都会继续执行后续的代码
print("-"*50)

output:(当输入a时)
请输入一个整数:a
请输入正确的整数
the programming is running

2.2 错误类型捕获

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

语法格式

try:# 尝试执行的代码pass
except 错误类型1:# 针对错误类型1,对应的代码处理pass
except (错误类型2,错误类型3):# 针对错误类型2和3,对应的代码处理pass
except Expectation as result:# 针对未知错误类型(没有提前预判到的错误类型),对应的代码处理print("未知错误 %s" % result)
  • 当python解释器抛出异常时,最后一行错误信息的第一个词就是错误类型

举个栗子

需求:

  1. 提示用户输入一个整数
  2. 使用 8 除以用户输入的整数并且输出
try:# 提示用户输入一个整数num = int(input("请输入一个整数: "))# 使用 8 除以用户输入的整数并且输出result = 8/numprint(result)
# 可能的错误类型有以下两种:
# 1. 输入a时,错误类型为 ValueError
# 2. 输入0时,错误类型为 ZeroDivisionError
except ValueError:print("请输入正确的整数。")
except ZeroDivisionError:print("除0错误。")
except Exception as result:print("出现未知错误。")

output:(当输入0时)
请输入一个整数: 0
除0错误。

举个栗子 - 捕获未知错误
如果在开发时,没有预判到除0错误:

try:# 提示用户输入一个整数num = int(input("请输入一个整数: "))# 使用 8 除以用户输入的整数并且输出result = 8/numprint(result)
# 可能的错误类型有以下两种:
# 1. 输入a时,错误类型为 ValueError
# 2. 输入0时,错误类型为 ZeroDivisionError
except ValueError:print("请输入正确的整数。")
except Exception as result:print("出现未知错误 %s" % result)

output:
请输入一个整数: 0
出现未知错误 division by zero

2.3 异常捕获的完整语法

语法格式

try:# 尝试执行的代码pass
except 错误类型1:# 针对错误类型1,对应的代码处理pass
except (错误类型2,错误类型3):# 针对错误类型2和3,对应的代码处理pass
except Expectation as result:# 针对未知错误类型(没有提前预判到的错误类型),对应的代码处理# 打印错误信息print("未知错误 %s" % result)
else:# 没有异常才会执行的代码pass
finally# 无论是否有异常,都会执行的代码print("无论是否有异常,都会执行的代码")
  • else 只有在没有异常时才会执行的代码
  • finally 无论是否有异常,都会执行的代码
try:# 提示用户输入一个整数num = int(input("请输入一个整数: "))# 使用 8 除以用户输入的整数并且输出result = 8 / numprint(result)
# 可能的错误类型有以下两种:
# 1. 输入a时,错误类型为 ValueError
# 2. 输入0时,错误类型为 ZeroDivisionError
except ValueError:print("请输入正确的整数。")except Exception as result:print("出现未知错误 %s" % result)else:print("尝试成功!")
finally:print("无论是否出现错误,都会执行的代码。")print("The programming is running!")

output:(当输入4时)
请输入一个整数: 4
2.0
尝试成功!
无论是否出现错误,都会执行的代码。
The programming is running!

3. 异常的传递

  • 异常的传递 — 当函数/方法执行出现异常,会将异常传递给函数/方法的调用一方
  • 如果传递到主程序,仍然没有异常处理,程序才会被终止

提示:

  • 在开发中,可以在主函数中增加异常捕获
  • 而在主函数中调用的其他函数,只要出现异常,都会传递到主函数的异常捕获中,这样就不需要在代码中,增加大量的异常捕获,能够保证代码的简洁

举个栗子

需求:

  1. 定义函数demo1()提示用户输入一个整数并且返回
  2. 定义函数demo2()调用demo1()
  3. 在主程序中调用demo2()
    异常的传递

因此,可以在主函数中增加异常捕获:

def demo1():return int(input("输入整数: "))def demo2():return demo1()
try:print(demo2())
except ValueError:print("请输入正确的整数。")
except Exception as result:print("出现未知错误 %s" % result)

output:(当输入a时)
输入整数: a
请输入正确的整数。

4. 抛出raise异常

4.1 应用场景

  • 在开发中,除了代码执行出错python解释器会抛出异常之外
  • 还可以根据应用程序特有的业务需求主动抛出异常

举个栗子

  • 提示用户输入密码,如果长度少于8,抛出异常
    抛出异常

注意:

  1. 当前函数只负责提示用户输入密码,如果密码长度不正确,需要其他的函数进行额外处理
  2. 因此可以抛出异常,由其他需要处理的函数捕获异常

4.2 抛出异常

  • python中提供了一个Exception异常类
  • 在开发时,如果满足特定业务需求时,希望抛出异常,可以:
    – 1)创建一个Exception的对象
    – 2)使用raise关键字抛出异常对象

举个栗子

需求:

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

output:
请输入密码: 1
主动抛出异常
密码长度不够!

http://www.lbrq.cn/news/822475.html

相关文章:

  • 那个公司做网站好/苏州网站建设书生商友
  • 山东平台网站建设价格/seo页面优化技术
  • 做p2p网站 人员配置/免费推广引流平台推荐
  • 医院网站开发多少钱/外贸谷歌推广怎么样
  • 创业项目排行榜前十名/seo整站优化更能准确获得客户
  • 八年级学生做的简易网站/自助快速建站
  • 域名解析网站建设/营销推广计划怎么写
  • 网站月付服务器/网站设计平台
  • 建设部网站查询/深圳媒体网络推广有哪些
  • 网站备案包括哪些/推广代理
  • 山西做网站的公司哪个好/清远疫情防控措施
  • 网站备案域名更改吗/广州最新消息
  • 织梦网站分页问题/百度品牌广告多少钱一个月
  • 大良建设网站/为什么不建议去外包公司上班
  • 政府机关备案网站/游戏推广论坛
  • 网站制作软件下载/seo怎么提升关键词的排名
  • 艺麟盛世可以做网站推广吗/哪里做网络推广
  • html5 手机端网站/外贸平台有哪些比较好
  • 公司网站免费申请/seo优化软件免费
  • 网站建设 工具/企业网站seo诊断工具
  • 免费企业营销网站制作/营销培训班
  • 质控中心网站建设申请/产品免费推广网站有哪些
  • 企业网站如何做架构图/博客推广的方法与技巧
  • 那个外贸网站做的最好/seo每日工作内容
  • c2c电商平台网站/产品推销
  • 做产品批发的网站/济南seo小黑seo
  • h5可以来做网站吗/网络营销解释
  • 有没有外国人做发明的网站/软件排名优化
  • 怎么可以自己制作网站/如何免费找精准客户
  • 企业名录搜索网站/企业网站设计公司
  • Linux操作系统从入门到实战(十二)Linux操作系统第一个程序(进度条)
  • 比特币技术简史 第六章:网络协议 - P2P网络、节点类型与消息传播
  • Linux异常与信号处理
  • 《汇编语言:基于X86处理器》第9章 字符串和数组(2)
  • Android NDK ffmpeg 音视频开发实战
  • CentOS 系统上部署一个简单的 Web 应用程序