python 异常捕获,python 异常类型

  python 异常捕获,python 异常类型

  仅用于研究参考。

  目标的概念捕捉异常,异常的交付抛出异常01。异常的概念程序在运行时,如果Python解释器遇到错误,就会停止程序的执行,并提示一些错误信息。这是异常程序停止执行并提示错误消息的操作。我们通常称之为:引发异常。

  开发程序时,很难处理所有的特殊情况。通过异常捕捉,我们可以集中处理紧急情况,从而确保程序的稳定性和健壮性。

  02.捕捉异常2.1捕捉异常的简单语法。在程序开发中,如果某些代码的执行不确定是否正确,可以添加try来捕捉异常。捕捉异常的最简单的语法格式是:

  试图执行的代码

  除了:

  如果有错误,尝试处理它。在下面写下你想尝试的代码,你不确定是否能正常执行除非不能,写下失败的代码。简单异常捕捉钻——胖老板:告诉我你想在[2]买多少烟:试试:

  .price=int(input(‘胖老板:你要买多少烟?’))

  .除了:

  .打印(“请输入正确的数字”)

  .

  老板:你要买多少烟?12.

  在[4]中:尝试:

  .price=int(input(‘胖老板:你要买多少烟?’))

  .除了:

  .打印(“请输入正确的数字”)

  .

  胖子:你要买多少烟?悲哀的

  请输入正确的数字2.2错误类型捕捉程序执行时,可能会遇到不同类型的异常,需要对不同类型的异常做出不同的应对。这时,你需要捕捉错误类型。语法如下:try:

  #您尝试执行的代码

  及格

  错误类型1除外:

  #对于错误类型1,相应的代码处理

  及格

  除了(错误类型2,错误类型3):

  #对于错误类型2和3,相应的代码处理

  及格

  例外结果除外:

  Print(未知错误% s % result)Python解释器抛出异常时,错误消息最后一行的第一个字是[5]中的错误类型:price=int(input(胖老板:你想买多少烟?’))

  胖子:你要买多少烟?个性签名

  -

  name trace back(最近一次调用last)显示错误类型为NameError。

  类型捕捉练习3354胖老板:烟钱能给我个整数吗?要求

  提示输入整数以检查[6]中的NameError是否异常:请尝试:

  .price=int(input(‘胖老板:你要买多少烟?’))

  .除了名称错误:

  .打印(“NameError异常”)

  .

  老板:你要买多少烟?asdsa

  NameError异常

  In [7]:捕捉未知错误。在开发时,仍然很难预测所有可能的错误。如果希望程序因为Python解释器抛出异常而终止,可以添加另一个except语法,如下所示:except Exception as result:

  Print(未知错误%s% result)2.3异常捕获的完整语法——胖老板要烟钱最后一个完整的异常版本在实际开发中,为了能够处理复杂的异常情况,完整的异常语法如下:

  提示:

  完整语法的应用场景会在后续的学习中结合实际案例更好的理解。现在,你可以先对这个语法结构有个印象。

  尝试:

  #您尝试执行的代码

  及格

  错误类型1除外:

  #对于错误类型1,相应的代码处理

  及格

  错误类型2除外:

  #对于错误类型2,相应的代码处理

  及格

  除了(错误类型3,错误类型4):

  #对于错误类型3和4,相应的代码处理

  及格

  例外结果除外:

  #打印错误消息

  打印(结果)

  否则:

  #将无例外执行的代码

  及格

  最后:

  #无论是否存在异常都将执行的代码

  Print(无论是否有异常都将执行的代码)else代码,只有在没有异常时才会执行。最后,不管有没有异常都要执行的代码。再写一个胖老板问价。捕捉异常的完整代码如下:在[9]中:try:

  .price=int(input(‘胖老板:你要买多少烟?’))

  .除了名称错误:

  .打印(“NameError异常”)

  .结果异常除外:

  .打印(“未知错误% s“%结果”)

  .否则:

  .print(胖老板:拿这个%s价格,对吧 % price )

  .最后:

  .print(胖老板:如果你没钱,我可以给你一个袋子。)

  .

  老板:你要买多少烟?17.

  老板:17元吧?

  老板:如果你没钱,我可以给你一个袋子。

  在[10]中:尝试:

  .price=int(input(‘胖老板:你要买多少烟?’))

  .除了名称错误:

  .打印(“NameError异常”)

  .结果异常除外:

  .打印(“未知错误% s“%结果”)

  .否则:

  .print(胖老板:拿这个%s价格,对吧 % price )

  .最后:

  .print(胖老板:如果你没钱,我可以给你一个袋子。)

  .

  胖子:你要买多少烟?个性签名

  NameError异常

  老板:如果你没钱,我可以给你一个袋子。

  在[11]:03。例外发货——胖老板:你要买多少烟?异常交付(exception delivery)3354当一个函数/方法的执行过程中出现异常时,会将异常交付给该函数/方法的调用者。如果它被交付给主程序,程序将被终止而不进行异常处理。

  给个提示

  开发中可以在主函数中加入异常捕捉,主函数中调用的其他函数只要有异常就会传递给主函数的异常捕捉,这样就不需要在代码中加入大量的异常捕捉,可以保证代码的整洁。

  定义函数demo1()胖老板:你要买多少烟?定义函数demo2()调用demo1(),调用[11]中的demo2():主程序中的def demo1():

  .return int(input(‘胖老板:你要买多少烟?’))

  .

  在[12]: def demo2():

  .返回演示1()

  .

  在[13]中:

  在[13]中:尝试:

  .打印(demo2())

  .除了名称错误:

  .打印(“NameError异常”)

  .结果异常除外:

  .打印(“未知错误% s“%结果”)

  .

  胖子:你要买多少烟?空中情况指示器

  NameError异常

  在[14]中:尝试:

  .打印(demo2())

  .除了名称错误:

  .打印(“NameError异常”)

  .结果异常除外:

  .打印(“未知错误% s“%结果”)

  .

  老板:你要买多少烟?17.

  17

  在[15]:从上面的代码可以看出,demo1的异常可以传递给demo2进行处理。

  04.抛出募集异常——胖老板:收钱,不够就抛出异常

  注意:抛出一个异常,而不是眨眼。

  4.1应用场景在开发中,除了Python解释器在代码执行错误时抛出异常,还可以根据应用独特的业务需求主动抛出异常。

  示例提示用户输入香烟钱,如果价格小于18,则抛出异常。

  注意,当前函数只负责提示用户输入香烟钱。如果烟钱价格低于18元,其他函数需要额外处理,可以抛出异常。其他需要处理的函数捕捉异常。4.2抛出异常。Python提供了一个异常exception类。开发时,如果要在满足特定业务需求时抛出异常,可以:创建一个异常对象,使用raise关键字抛出异常对象需求。

  定义input_price函数提示胖老板:收钱。如果用户输入价格18,抛出异常。如果用户输入18的价格,返回胖老板:你的香烟,忠于你的兰利群In [2]: def input_price():

  .

  .#收钱

  .价格=投入(胖老板:收钱)

  .

  .#看看钱够不够

  .如果int(price)=18:

  .退货价格

  .

  .#钱不够,需要抛出异常

  .# 1创建一个异常对象——使用异常的错误消息字符串作为参数。

  .ex=异常(“钱不够”)

  .

  .# 2抛出一个异常对象

  .提高ex

  .

  在[3]中:

  在[3]中:尝试:

  .价格=投入价格()

  .打印(价格)

  .结果异常除外:

  .打印(“发现错误:% s“%结果”)

  .

  胖子:收费18。

  18

  在[4]中:尝试:

  .价格=投入价格()

  .打印(价格)

  .结果异常除外:

  .打印(“发现错误:% s“%结果”)

  .

  胖子:收费17。

  错误:钱不够

  在[5]中:

  关注微信微信官方账号,回复【数据】,Python,PHP,JAVA,web,即可获取Python,PHP,JAVA,前端等视频数据。

  来自海洋的渔夫原创作品,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: