raise抛出异常与try - except的使用

1、直接抛出异常,程序停止,不会打印is here

   s = None
    if s is None:
        raise NameError
    print ('is here?')  # 如果不使用try......except这种形式,那么直接抛出异常,不会打印is here

2、try except 捕获异常

    try:
        s = None
        if s is None:
            print("s 是空对象")
          
        #1,如果加else,则语法if else 完整,不会触发except  
        # else:  
            #print (len(s))

    # print(len(s))   # 2,if为None,打印"s 是空对象",接着执行len(s),None没有长度,报异常TypeError,except捕获成功,打印“空对象没有长度”

        raise NameError   #3, 如果引发NameError异常,后面的代码将不能执行
    print(len(s))

    except TypeError:
        print ("空对象没有长度")
    
 ### 如果不使用try......except这种形式,那么直接抛出异常,不会打印is here
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章