zoukankan      html  css  js  c++  java
  • 异常处理的其它内容

    '''异常处理的其它内容'''
    # 异常其它结构try-else
    # s = '123'
    # try:
    #  int(s) # ①执行try代码块,成功无异常
    # except Exception as e:
    #  print(e)
    # else: # 此处的else,是当try代码块没异常的情况下才执行;如果try代码块有异常那就是执行except
    #  print('try执行完就执行else了') # ②执行else代码块,进行打印
    
    
    # 异常其它结构try-finally
    # s1 = 'qwe'
    # try: # 有异常的情况
    #  int(s1) # ①执行try代码块且出现异常
    # except Exception as e:
    #  print(e) # ②触发万能异常并打印invalid literal for int() with base 10: 'qwe';如果捕捉异常不成功依旧会报错
    # else:
    #  print('是否执行呢?')
    # finally:
    #  print('我是最后一步执行,通常是进行清理工作') # ③无论try代码块是否有异常及except是否成功捕捉到异常,最后都会执行finally代码块,打印我是最后一步执行
    
    # s2 = '999'
    # try: # 无异常的情况
    #  int(s2) # ①执行try代码块且出现异常
    # except Exception as e:
    #  print(e)
    # else:
    #  print('是否执行呢?') # ②try代码块执行成功无异常,那么执行else代码块
    # finally:
    #  print('我是最后一步执行,通常是进行清理工作') # ③无论try代码块是否有异常及except是否成功捕捉到异常,最后都会执行finally代码块,打印我是最后一步执行
    
    
    # 主动触发异常raise
    # try:
    #  raise TypeError('类型错误')
    #
    # except Exception as e:
    #  print(e)
    
    
    # 自定义异常(继承BaseException类)
    # class EgonException(BaseException): # Exception继承的就是BaseException
    #  def __init__(self, msg):
    #     self.msg = msg
    
    # raise EgonException('自定制异常') # 当没有继承BaseException类时,报异常TypeError: exceptions must derive from BaseException
    # print(EgonException('依旧自定制异常')) # 打印 依旧自定制异常,所以不需要自写__str__了
    
    
    # 断言(assert),和if相似,但更简洁
    # res = 1
    # assert res == 1 # 如果等于,那么可以执行后续的代码
    # print('assert正确')
    # assert res == 2 # 如果不等于,那么不执行后续的代码;报错:AssertionError
    # print('assert错误') # 此步操作不打印
    #
    # res1 = 1
    # if res1 != 2:
    #  raise AssertionError
    # print('if判断不等于则执行打印')
    # if res1 == 2:
    #  raise AssertionError
    # print('if判断等于则不运行')
    
    
    # try-except的方式比较if的方式的好处
    # try-except这种异常机制就是取代if那种方式,让你的程序在不牺牲可读性的前提下增强健壮性和容错性;异常处理中为每一个异常定制了异常类型(python中
    # 统一了类与类型,类型即类),对于同一种异常,一个except就可以捕捉到,可以同时处理多段代码的异常(无需写多个if判断式)减少了代码,增强了可读性
    
    
    # 什么时候用异常处理
    # try-except应该尽量少用,因为它本身就是你附加给你的程序的一种异常处理的逻辑,与你的主要的工作是没有关系的;这种东西加多了,会导致你的代码
    # 可读性变差;只有在有些异常无法预知的情况下,才应该加上try-except,其它的逻辑错误应该尽量修正
    while True: print('studying...')
  • 相关阅读:
    A__Writeup_杂项 “百越杯”第四届福建省高校网络空间安全大赛——致我的战队HeroCat的所有成员
    A_由局域网到广域网的探索-------正在更新中ing
    B_由迷茫转向理性
    CTF__(1)web之Cookie
    网络安全常识介绍__(1)黑客获取密码的介绍
    AQS
    生产者-消费者模式
    synchronized修饰static方法与非static方法的区别
    Java内存溢出和内存泄露
    final、finally与finalize的区别
  • 原文地址:https://www.cnblogs.com/xuewei95/p/14770338.html
Copyright © 2011-2022 走看看