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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章