python学习 异常的相关处理/if的各种真假判断
#异常处理 try: # print(num) # print(1/0) open('hhhhh','r') print('------1-------') except (NameError,FileNotFoundError): print('如果捕获到异常后做的处理') except Exception as msg: print('如果用了Exception,那么意味着只要上面的except没有捕获到异常,这个except一定会捕获到') print(msg) else: print('没有异常才会执行的功能') finally: print('最终都要执行的功能')
#抛出自定义异常 #示例一: class ShortInputError(Exception): def __init__(self,input_valeu,rule_value): self.input_value=input_valeu self.rule_value=rule_value try: s=input('请输入:') if len(s)<3: raise ShortInputError(len(s),3) except ShortInputError as msg: print('输入的长度是:{},规定的长度是{}'.format(msg.input_value,msg.rule_value)) else: print('没有异常发生') #示例二: def division(x,y): if y==0: raise ZeroDivisionError('错了') try: division(10,0) except Exception as msg: #也可用BaseException、ZeroDivisionError print(msg) #异常处理中抛出异常 class Test(object): def __init__(self,switch): self.switch=switch def clasc(self,a,b): try: return a/b except Exception as result: if self.switch: print('捕获开启,已经捕获到了异常,信息如下:') print(result) else: #重新抛出这个异常,此时就不会被这个异常处理捕捉到,从而触发默认的异常处理 raise a=Test(True) a.clasc(11,0) a=Test(False) a.clasc(11,0)
#假 if 0: print('hh') if []: print('hh') if {}: print('hh') if "": print('hh') if None: print('hh') #真 if ['1']: print('hh') if [1]: print('hh') if {1}: print('hh') if "1": print('hh')
posted on 2019-07-31 23:08 cherry_ning 阅读(617) 评论(0) 收藏 举报
浙公网安备 33010602011771号