精华内容
下载资源
问答
  • Python try else异常处理...Python try except else语句详解语法try:# 需要检测异常的代码except Exception:# 异常处理逻辑else:# 异常没有发生时的逻辑说明我们使用 try except else 语句实现了捕获异常的同时,...

    Python try else异常处理教程

    在我们使用 try except else 结构时,同样可以使用 finally 分支,表示一定要执行的代码逻辑。

    Python try except else语句详解

    语法

    try:

    # 需要检测异常的代码

    except Exception:

    # 异常处理逻辑

    else:

    # 异常没有发生时的逻辑

    说明

    我们使用 try except else 语句实现了捕获异常的同时,如果异常没有发生,那么执行 else 的逻辑。如果异常发生了,则不会执行 else 的逻辑。

    Python try except else finally语句详解

    语法

    try:

    # 需要检测异常的代码

    except Exception:

    # 异常处理逻辑

    else:

    # 异常没有发生时的逻辑

    finally:

    # 最终一定要执行的逻辑

    说明

    我们在使用 try except else 语句时,后面同样可以加上 finally 字句,表示一定要执行的代码逻辑。

    案例

    Python try except else捕获异常

    使用 try except else捕获异常,如果异常没发生,则执行 else 逻辑

    if __name__ == '__main__':

    print("嗨客网(www.haicoder.net)")

    try:

    num = input("Please input a number:")

    print("Your input is:", int(num))

    except Exception as e:

    print("Exception :", e)

    else:

    print("well done")

    程序运行后,控制台输出如下:

    a0c70ea700f7695c0be2144caea03028.png

    我们在捕获 Exception 异常时,使用了 else 语句,实现了如果异常没有发生,也就是没有走到 except 分支, 那么就执行 else 的代码块,这次运行的时候,因为我们输入了一个

    因此,这次执行失败,走到了 except 分支,所以没有执行 else 分支的代码,我们再次输入合法的 int 类型的数字,再次运行程序后,控制台输出如下:

    8b69f4e1559f271a7170c214fb2c0feb.png

    这次,我们输入了合法的 int 类型的数字,因此没有执行 except 分支的代码,执行了 else 分支的代码,因此,else 实现的功能是如果 except 分支不执行,则执行 else。

    Python try except else finally捕获异常

    使用 try except else finally 捕获异常,finally 字句同样表示一定要执行的逻辑

    if __name__ == '__main__':

    print("嗨客网(www.haicoder.net)")

    try:

    num = input("Please input a number:")

    print("Your input is:", int(num))

    except Exception as e:

    print("Exception :", e)

    else:

    print("well done")

    finally:

    print("Call finally")

    程序运行后,控制台输出如下:

    5df0810afe40ee852c2b1d632640f55f.png

    运行该程序时,我们输入了一个字符串,因此,程序执行了 except 分支,同时,我们看到 finally 字句的逻辑也被执行了。现在,我们再次输入合法的 int 类型的数字,再次运行程序后,控制台输出如下:

    12f7e7d228bb31319dfded271df20136.png

    这次,我们输入了合法的 int 类型的数字,因此,没有执行 except 分支,而是执行了 else 分支,但 finally 分支同样被执行了。

    Python try else异常处理总结

    在 Python 中,当我们使用 try except 捕获异常时,如果希望仅仅当异常没有发生时,继续执行其他的逻辑,那么这时候,我们可以使用 else 语句。

    在我们使用 try except else 结构时,同样可以使用 finally 分支,表示一定要执行的代码逻辑。

    展开全文
  • 实际上,python中一个完整的异常处理语句是try except else finally。在程序中,如果一个段代码必须要执行,即无论异常是否产生都要执行,那么此时就需要使用finally。try except else finally可以让我们的思维更加...

    实际上,python中一个完整的异常处理语句是try except else finally。在程序中,如果一个段代码必须要执行,即无论异常是否产生都要执行,那么此时就需要使用finally。try except else finally可以让我们的思维更加周密,条例更清晰。

    写了finally后,finally的代码部分不管try中的程序是否抛出异常总要去执行。一些场景比如打开文件后不管如何操作最终都要关闭文件,链接数据库后不管如何操作最终都要关闭连接。

    与else不同的是finally可以和try一个人搭配使用。

    # -*- coding: utf-8 -*-

    try:

    print('吃早饭')

    print('吃午饭')

    print('吃完饭')

    print('和{0}约会'.format(name))

    except NameError as e:

    print('出错!打印未定义变量',e)

    except IndexError as e:

    print('出错!列表索引异常',e)

    except:

    print('未知异常')

    else:

    print('今天一切顺利')

    finally:

    print('该睡觉了')

    吃早饭

    吃午饭

    吃完饭

    出错!打印未定义变量 name 'name' is not defined

    该睡觉了

    # -*- coding: utf-8 -*-

    try:

    print('和{0}约会'.format(name))

    finally:

    print('该睡觉了')

    该睡觉了

    Traceback (most recent call last):

    File "D:/pyscript/py3script/python66/python66.py", line 4, in

    print('和{0}约会'.format(name))

    NameError: name 'name' is not defined

    展开全文
  • Python try except else使用详解,除数,异常,语句,代码,程序Python try except else使用详解易采站长站,站长之家为您整理了Python try except else使用详解的相关内容。在原本的try except结构的基础上,Python 异常...

    Python try except else使用详解,除数,异常,语句,代码,程序

    Python try except else使用详解

    易采站长站,站长之家为您整理了Python try except else使用详解的相关内容。

    在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。

    使用 else 包裹的代码,只有当 try 块没有捕获到任何异常时,才会得到执行;反之,如果 try 块捕获到异常,即便调用对应的 except 处理完异常,else 块中的代码也不会得到执行。

    举个例子:

    try:

    result = 20 / int(input('请输入除数:'))

    print(result)

    except ValueError:

    print('必须输入整数')

    except ArithmeticError:

    print('算术错误,除数不能为 0')

    else:

    print('没有出现异常')

    print("继续执行")

    可以看到,在原有 try except 的基础上,我们为其添加了 else 块。现在执行该程序:

    请输入除数:4

    5.0

    没有出现异常

    继续执行

    如上所示,当我们输入正确的数据时,try 块中的程序正常执行,Python 解释器执行完 try 块中的程序之后,会继续执行 else 块中的程序,继而执行后续的程序。

    读者可能会问,既然 Python 解释器按照顺序执行代码,那么 else 块有什么存在的必要呢?直接将 else 块中的代码编写在 try except 块的后面,不是一样吗?

    当然不一样,现在再次执行上面的代码:

    请输入除数:a

    必须输入整数

    继续执行

    可以看到,当我们试图进行非法输入时,程序会发生异常并被 try 捕获,Python 解释器会调用相应的 except 块处理该异常。但是异常处理完毕之后,Python 解释器并没有接着执行 else 块中的代码,而是跳过 else,去执行后续的代码。

    也就是说,else 的功能,只有当 try 块捕获到异常时才能显现出来。在这种情况下,else 块中的代码不会得到执行的机会。而如果我们直接把 else 块去掉,将其中的代码编写到 try except 的后面:

    try:

    result = 20 / int(input('请输入除数:'))

    print(result)

    except ValueError:

    print('必须输入整数')

    except ArithmeticError:

    print('算术错误,除数不能为 0')

    print('没有出现异常')

    print("继续执行")

    程序执行结果为:

    请输入除数:a

    必须输入整数

    没有出现异常

    继续执行

    可以看到,如果不使用 else 块,try 块捕获到异常并通过 except 成功处理,后续所有程序都会依次被执行。

    python  try except else finally 实例

    class AError(Exception):

    """AError---exception"""

    print('AError')

    class BError(Exception):

    """BError---exception"""

    print('BError')

    try:

    # raise AError

    # raise BError

    aaaaa()

    except AError:

    print("Get AError")

    except BError:

    print("Get BError")

    except:

    print("Get Exception")

    else:

    print("do else")

    finally:

    print("finally")

    1.在上面所示的完整语句中try/except/else/finally所出现的顺序必须是try-->except X-->except-->else-->finally,即所有的except必须在else和finally之前,else(如果有的话)必须在finally之前,而except X必须在except之前。否则会出现语法错误。

    2.在上面的完整语句中,else语句的存在必须以except X或者except语句为前提,如果在没有except语句的try block中使用else语句会引发语法错误。也就是说else不能与try/finally配合使用。

    3.try成功进else,不成功进对应的except;

    4.不论是否成功except X,except的判定语句都会执行,只是不进入;对应到以上程序就是不论哪种情况 AError BError都会打印,但是Get AError Get BError 只有抛对应的异常时才会打印。

    5.finally所有情况都会执行,可以不写,写了就必须在所有except else等之后;

    到此这篇关于Python try except else使用详解的文章就介绍到这了,更多相关Python try except else内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!以上就是关于对Python try except else使用详解的详细介绍。欢迎大家对Python try except else使用详解内容提出宝贵意见

    展开全文
  • 在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。使用 else 包裹的代码,只有当 try 块没有捕获到任何...

    de647c02a396977619bd098b86c54b45.png

    在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。

    使用 else 包裹的代码,只有当 try 块没有捕获到任何异常时,才会得到执行;反之,如果 try 块捕获到异常,即便调用对应的 except 处理完异常,else 块中的代码也不会得到执行。

    举个例子:

    try:

    result = 20 / int(input("请输入除数:"))

    print(result)

    except ValueError:

    print("必须输入整数")

    except ArithmeticError:

    print("算术错误,除数不能为 0")

    else:

    print("没有出现异常")

    print("继续执行")

    可以看到,在原有 try except 的基础上,我们为其添加了 else 块。现在执行该程序:

    请输入除数:4

    5.0

    没有出现异常

    继续执行

    如上所示,当我们输入正确的数据时,try 块中的程序正常执行,Python 解释器执行完 try 块中的程序之后,会继续执行 else 块中的程序,继而执行后续的程序。

    读者可能会问,既然 Python 解释器按照顺序执行代码,那么 else 块有什么存在的必要呢?直接将 else 块中的代码编写在 try except 块的后面,不是一样吗?

    当然不一样,现在再次执行上面的代码:

    请输入除数:a

    必须输入整数

    继续执行

    可以看到,当我们试图进行非法输入时,程序会发生异常并被 try 捕获,Python 解释器会调用相应的 except 块处理该异常。但是异常处理完毕之后,Python 解释器并没有接着执行 else 块中的代码,而是跳过 else,去执行后续的代码。

    也就是说,else 的功能,只有当 try 块捕获到异常时才能显现出来。在这种情况下,else 块中的代码不会得到执行的机会。而如果我们直接把 else 块去掉,将其中的代码编写到 try except 的后面:

    try:

    result = 20 / int(input("请输入除数:"))

    print(result)

    except ValueError:

    print("必须输入整数")

    except ArithmeticError:

    print("算术错误,除数不能为 0")

    print("没有出现异常")

    print("继续执行")

    程序执行结果为:

    请输入除数:a

    必须输入整数

    没有出现异常

    继续执行

    可以看到,如果不使用 else 块,try 块捕获到异常并通过 except 成功处理,后续所有程序都会依次被执行。

    python  try except else finally 实例

    class AError(Exception):

    """AError---exception"""

    print("AError")

    class BError(Exception):

    """BError---exception"""

    print("BError")

    try:

    # raise AError

    # raise BError

    aaaaa()

    except AError:

    print("Get AError")

    except BError:

    print("Get BError")

    except:

    print("Get Exception")

    else:

    print("do else")

    finally:

    print("finally")

    1.在上面所示的完整语句中try/except/else/finally所出现的顺序必须是try-->except X-->except-->else-->finally,即所有的except必须在else和finally之前,else(如果有的话)必须在finally之前,而except X必须在except之前。否则会出现语法错误。

    2.在上面的完整语句中,else语句的存在必须以except X或者except语句为前提,如果在没有except语句的try block中使用else语句会引发语法错误。也就是说else不能与try/finally配合使用。

    3.try成功进else,不成功进对应的except;

    4.不论是否成功except X,except的判定语句都会执行,只是不进入;对应到以上程序就是不论哪种情况 AError BError都会打印,但是Get AError Get BError 只有抛对应的异常时才会打印。

    5.finally所有情况都会执行,可以不写,写了就必须在所有except else等之后;

    到此这篇关于Python try except else使用详解的文章就介绍到这了,更多相关Python try except else内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

    展开全文
  • 在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。使用 else 包裹的代码,只有当 try 块没有捕获到任何...
  • try except else

    2019-05-19 22:35:34
    try—> else 或者 except:
  • python try except else finally 实例classAError(Exception):"""AError---exception"""print('AError')classBError(Exception):"""BError---exception"""print('BError')try:#raise AError#raise BErroraaaaa()...
  • 在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。使用 else 包裹的代码,只有当 try 块没有捕获到任何...
  • 在 Python 中,还有另一种异常处理结构,就是 try except else 语句,也就是在原来 try except 语句的基础上再添加一个 else 子句,其作用是指定当 try 块中没有发现异常时要执行的代码。换句话说,当 try 块中发现...
  • try except else finally

    2019-07-15 17:53:00
    try..except..else没有捕获到异常,执行else语句 try..except..finally不管是否捕获到异常,都执行finally语句 转载于:https://www.cnblogs.com/sea-stream/p/11190420.html...
  • python异常处理中,在try except的基础上还提供了else代码块,如果try代码块中的程序未发生异常,执行完毕后会继续执行else代码块的内容。如果try代码块部分发生异常,则进入except部分处理异常无缘进入else部分。从...
  • if-elsetry-except转换 while 与 while-True-try-except转换比较神奇的写法,直接看代码吧 见如下if-else场景if fun(): do something1 else: do something2如果fun()抛出异常表示假,那么可以改写成如下形式...
  • 在注意:我找到了一种方法来解决下面描述的问题,它不使用try/except/else语句。我问下面的问题仅仅是因为我很好奇为什么代码的行为方式是这样的,以及是否有一种方法可以使用try/except/else完成我正在尝试的操作。...
  • python妙招-异常处理之try-except,今天讲一下try和其他语句用法1、try-except-elsetry 范围中没有检测到异常时候,执行 else 子句.。即在else范围中的任何代码运行前,try范围中的所有代码必须完全成功(也就是,...
  • 这些异常可以使用try语句处理:例如:try块将生成一个异常,因为未定义x:try:print(x)except:print("An exception occurred")由于try块引发错误,因此将执行except块。没有try块,程序将崩溃并引发错误:例如:该...
  • debug在python中可以使用try except else finally raise等关键字来处理异常,使用方法如下:try:后面跟着需要执行的语句except 捕获异常 并处理异常,通常异常有不同类型,可分别处理else:当try语句块正常执行时,无...
  • 在原本的try except结构的基础上,Python异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。 使用 else 包裹的代码,只有当 try 块没有捕获到任何...
  • try except else finally raise with 这6个关键字都是我们在处理程序异常中必不可少的“工具” 一定要掌握,对我们编程中的debug也会有帮助 try 可以理解为我们如果碰到了。。。。一下情况 可以有很多情况,可以有很...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,108
精华内容 2,443
关键字:

elseexcepttry