python學習 異常,python學習

來源:互聯網
上載者:User

python學習 異常,python學習

#===========================常見異常 ===================== 
#print(a);#NameError: name 'a' is not defined 變數未定義
#if True:#SyntaxError: unexpected EOF while parsing 語法錯誤
#f=open("123.txt");#FileNotFoundError: [Errno 2] No such file or directory: '123.txt' 沒有這個檔案 #print(10/0);
# ZeroDivisionError: division by zero 除數為 0錯誤 #print(int("a"));
# ValueError: invalid literal for int() with base 10: 'a' 值轉換無效
#-*-config=utf-8 -*-#===========================異常處理 (捕獲運行時異常) =====================#常見異常#print(a);#NameError: name 'a' is not defined  變數未定義#if True:#SyntaxError: unexpected EOF while parsing 語法錯誤#f=open("123.txt");#FileNotFoundError: [Errno 2] No such file or directory: '123.txt' 沒有這個檔案#print(10/0);# ZeroDivisionError: division by zero 除數為 0錯誤#print(int("a"));# ValueError: invalid literal for int() with base 10: 'a' 值轉換無效#=====================  try - except 文法 ==================def tryTest_1():    try:        print(10/0);    except:# 捕獲所有類型異常        print("Zero   Error");# Zero   Error#tryTest_1();def tryTest_2():    try:        print(10/0);    except ZeroDivisionError as e:#捕獲 指定類型的異常        print("Zero   Error");# Zero   Error#tryTest_2();#案例 猜數字遊戲import random;def guessNum():    num=random.randint(0,100);#產生一個隨機數    while True:        try:            inputNum=int(input());        except ValueError as e:            print("請輸入1-100的數字");            continue;        if num>inputNum:            print("輸入的太小");        if num<inputNum:            print("輸入的太大");        if(num==inputNum):            print("Ok");            break;#guessNum();#======================同時處理多個異常====================def tryTest_3():    try:        f=open("2.txt");    except FileNotFoundError as  e:        print("檔案不存在");#檔案不存在    except ValueError as e:        print("錯誤的值");#tryTest_3();#===================== try - except - else==============#如果存在異常代碼執行相應的異常類型捕獲,如果不存在異常代碼執行elsedef tryTest_4():    try:        print(1+1);        #f=open("2.txt");    except FileNotFoundError as  e:        print("檔案不存在");#檔案不存在    except ValueError as e:        print("錯誤的值");    else:        print("No Error");#tryTest_4();#===================== try finally  ============#無論是否檢查到異常,都會執行finally代碼#作用:為異常處理事件提供清理機制,用來關閉檔案或者釋放資源。def tryTest_5():    try:        f=open("2.txt");    finally:        print("file close");        f.close();#tryTest_5();#========================== try -except -finally =============#1、如果 try語句沒有捕獲異常,執行try代碼後,執行finally語句#2、如果 try語句捕獲到異常,首先執行except語句後執行finally語句def tryTest_6():    try:        f=open("2.txt");    except FileNotFoundError as e:        print("檔案不存在");    finally:        print("file close");        f.close();#tryTest_6();#========================== try -except - else -finally =============#1、如果 try語句沒有捕獲異常,執行try代碼後執行else語句最後執行finally語句#2、如果 try語句捕獲到異常,首先執行except語句後執行finally語句def tryTest_7():    try:        print(10/1);    except ZeroDivisionError as e:#捕獲 指定類型的異常        print("Zero   Error");# Zero   Error    else:        print("else語句");    finally:        print("finally");#tryTest_7();#==============================with 語句======================# with語句用來替換try-except-finall語句 使代碼更加簡潔def withTEst():    try:        with open("E:\python\w_2.txt") as f:            print(f.readline());    except FileNotFoundError as e:        print("檔案不存在");        f.close();#withTEst();#=======================raise 語句 ==============================#raise  主動拋出異常#類似於java中的throw關鍵字def raiseTest():    raise IOError("IO異常");#raiseTest();#======================assert語句=================================#assert語句:用於檢測運算式是否為真,如果為假,引發AssertionError錯誤#文法:assert expression (判斷一個運算式)# assert expression1, expression2(判斷多個運算式)import random;def assertTest(n):    assert n>random.randint(0,10);    print(n);#assertTest(3);#如果傳入的 n 大於隨機產生的數則列印n#如果傳入的n小於隨機產生的數 則引發AssertionError錯誤

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.