zoukankan      html  css  js  c++  java
  • 异常和函数

    #异常和函数能够很自然的一起工作。如果异常在函数内引发而不处理,就会被传播至函数调用的地方。如果异常在函数调用的地方也没有被调用,就会继续传播,一直达到主程序。
    #如果主程序也没有做异常处理,异常就会被Python解释器捕获,输出一个错误信息,然后退出程序。
    #例如:
     1 
     2 #!/usr/bin/python3
     3 #-*-coding:UTF-8-*-
     4 #异常9.11_异常和函数
     5 
     6 def division_fun(x,y):
     7     return x/int(y)
     8 
     9 def exp_fun(x,y):
    10     return division_fun(x,y)*10
    11 
    12 def main(x,y):
    13     exp_fun(x,y)
    14 
    15 main(2,0)
    #执行结果如下:
     1 D:Pythonworkspace>python 异常9.11_异常和函数.py
     2 Traceback (most recent call last):
     3   File "异常9.11_异常和函数.py", line 14, in <module>
     4     main(2,0)
     5   File "异常9.11_异常和函数.py", line 12, in main
     6     exp_fun(x,y)
     7   File "异常9.11_异常和函数.py", line 9, in exp_fun
     8     return division_fun(x,y)*10
     9   File "异常9.11_异常和函数.py", line 6, in division_fun
    10     return x/int(y)
    11 ZeroDivisionError: division by zero
    #由执行结果看到,division_fun函数中产生的异常通过division_fun和exp_fun函数传播,exp_fun中的异常通过exp_fun和main函数传播,传递到函数调用处由解释器处理,最终抛出堆栈的异常信息。
    #异常信息是以堆栈的形式被抛出的,因而是从下往上查看的。所谓堆栈,就是最先被发现的异常信息最后被输出(就像子弹入弹夹和出弹夹一样),也被称作先进后出(First In Last Out,Filo)。
  • 相关阅读:
    parent.relativePath' points at wrong local POM
    'cmd' 不是内部或外部命令,也不是可运行的程序 或批处理文件.
    解析xml文件的几种技术与Dom4j与sax之间的对比
    html/js/css资源
    HTML编码规范
    CSS编码规范
    PCB标识说明
    sama5d3 环境检测 gpio--yk测试
    sama5d3 环境检测 gpio--yx测试
    ad7888 linux driver
  • 原文地址:https://www.cnblogs.com/DLHe/p/8242912.html
Copyright © 2011-2022 走看看