、
try: open("XXXX.txt") print(num) print("---1---") except NameError: print("如果捕获到异常后做的处理") print("----2----")
class Test(object): def __init__(self,switch): self.switch = switch def calc(self,a,b): try: return a/b except Exception as result: if self.switch: print("捕获开启,已经捕获到了异常,信息如下:") print(result) else: #重新抛出这个异常,此时就不会被这个异常处理给捕获到,从而触发默认的异常处理 raise a = Test(True) a.calc(11,0) print("-----------------------------------") a.switch = False a.calc(11,0) 捕获开启,已经捕获到了异常,信息如下: division by zero ----------------------------------- Traceback (most recent call last): File "for_test.py", line 19, in <module> a.calc(11,0) File "for_test.py", line 6, in calc return a/b ZeroDivisionError: division by zero
try: 11/0 print("-----1-----") except(NameError,FileNotFoundError): print("如果捕获到异常后做的 处理...") except Exception as ret: print("如果用了Exception,那么意味着只要上面的except没有捕获到异常,这个except一定会捕获到") print(ret) else: print("没有异常才会执行的功能") finally: print("------finally-------不管产生不产生异常都要做的事") print("-----------------2-----------------")
class ShortInputException(Exception): '''自定义的异常类''' def __init__(self,length,atleast): #super().__init__() self.length = length self.atleast = atleast def main(): try: s = input("请输入-->") if len(s)<3: #raise 引发一个你定义的异常 raise ShortInputException(len(s),3) except ShortInputException as result: #x这个变量被绑定到了错误的实例 print("ShortInputException:输入的长度是%d,长度至少应是%d"%(result.length,result.atleast)) else: print("没有发生异常") main()
if的各种真假判断:
if "":
print("haha")
if None:
print("haha")
if 0:
print("haha")
print("haha")
if None:
print("haha")
if 0:
print("haha")
if []:
print("haha")
if {}:
print("haha")
print("haha")
if {}:
print("haha")
#以上均为假,相当于False
if 1:
print("haha")
if -1:
print("haha")
if "a":
print("haha")
print("haha")
if -1:
print("haha")
if "a":
print("haha")
#真