• 异常处理


    #出现异常怎办?
    #就如我们使用的工具出了点小毛病,我们可以想办法修理好它。程序也是一样,前辈们经过不断积累和思考,创造了不少好方法处理程序中的异常,最简单的是使用try语句处理。
    #try语句的基本形式为try/except。try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。如果你不想在发生异常时结束程序,只需在try语句块中捕获异常即可。
    #捕获异常的语法如下:
    1  try:
    2          <语句>      运行别的代码
    3          except<名字>4          <语句>  #如果在try部分引发了异常
    #try的工作原理是,开始一个try语句后,Python就在当前程序的上下文中做标记,当出现异常时就可以回到做标记的地方。首先执行try子句,接下来发生什么依赖于执行时是否出现异常。
    #如果try后的语句执行时发生异常,程序就跳回try并执行except子句。异常处理完毕,控制流就可以通过整个try语句了(除非在处理异常时又引发新异常)。
    #如以下示例:
     1 #!/usr/bin/python3
     2 #-*-coding:UTF-8-*-
     3 #异常
     4 
     5 def exp_exception(x,y):
     6     try:
     7         a=x/y
     8         print('a=',a)
     9         return a
    10     except Exception:
    11         print('程序出现异常,异常信息:被除数为0')
    12 
    13 exp_exception(2,0)
    #程序执行结果如下:
    1 D:Pythonworkspacedatatime20171218>python 异常.py
    2 程序出现异常,异常信息:被除数为0
    #由执行结果看到,程序最后执行的是except子句,如果语句正常,应该输出'a='的形式。
    #这里就会有疑问了,直接在做除法前对y值进行判断不就解决问题了,何必使用try/except语句呢?
    #在本例中这么做确实更好一些。如果给程序加入更多除法,就得给每个除法语句加一个判断语句,这样整个代码看上去就是一堆类似if的功能重复判断语句,真正有效的代码没多少。而使用try/except只需要一个错误处理器即可。
    #如果没有处理异常,异常就会被”传播“到调用的函数中。如果在调用的函数中依然没有处理,异常就会继续“传播”,直到程序的最顶层。也就是可以处理其他人程序中未处理的异常,
     
  • 相关阅读:
    切片
    类型断言
    方法表达式
    接口
    函数式编程
    多人聊天室
    反射
    yarn基础解释
    webpack基础概念
    ssh登陆报错:packet_write_wait: Connection to x.x.x.x port 22: Broken pipe
  • 原文地址:https://www.cnblogs.com/DLHe/p/8080491.html
Copyright © 2020-2023  润新知