Python執行時錯誤示例?
在本文中,我們將瞭解一些Python程式語言執行時錯誤的示例。
執行時錯誤
程式中的執行時錯誤是在程式成功編譯後發生的錯誤。
如果Python直譯器在語法上正確(沒有語法錯誤),它將執行程式。但是,如果程式遇到執行時錯誤——在程式解析時未檢測到的問題,只有在執行特定行時才會顯示出來——它可能會在執行過程中意外退出。當程式由於執行時錯誤而崩潰時,我們說它崩潰了。
一些Python執行時錯誤的示例
除以零
對不相容型別執行操作
使用未定義的識別符號
訪問不存在的列表元素、字典值或物件屬性
嘗試訪問不存在的檔案
讓我們透過示例更仔細地研究每一個。
除以零
如果我們將任何數字除以零,我們將得到此錯誤。
演算法(步驟)
以下是執行所需任務的演算法/步驟:
取一個變數來儲存第一個輸入數字。
取另一個變數來儲存第二個輸入數字(這裡第二個數字應為0)。
將第一個數字除以第二個數字並列印結果。
示例
如果我們將數字除以零,以下程式將返回執行時錯誤:
# First Input Number firstNumb = 11 # Second Input Number (Here it is 0) secondNumb = 0 # Dividing the first Number by the second Number print(firstNumb/secondNumb)
輸出
執行後,上述程式將生成以下輸出:
Traceback (most recent call last): File "main.py", line 6, in <module> print(firstNumb/secondNumb) ZeroDivisionError: division by zero
因為第二個數字是0,任何數字都不能被0除,所以我們得到一個執行時錯誤。
對不相容型別執行操作
當我們對不相容的資料型別執行加法、乘法等操作時,會發生此錯誤。
演算法(步驟)
以下是執行所需任務的演算法/步驟:
取一個字串,併為其賦值一些隨機值,並將其儲存在一個變數中。
取一個整數,併為其賦值一些隨機整數,並將其儲存在另一個變數中。
對上述變數執行一些操作,例如加法,然後列印它。
示例
如果我們對不相容的資料型別執行操作,以下程式將返回執行時錯誤:
# Input string inputString = "TutorialsPoint" # Input Number inputNumber = 11 # Adding both integer and string values print(inputString + inputNumber)
輸出
執行後,上述程式將生成以下輸出:
Traceback (most recent call last): File "main.py", line 6, in <module> print(inputString + inputNumber) TypeError: must be str, not int
我們不能在這裡將整數新增到字串資料型別中,因此我們得到一個型別錯誤(執行時錯誤)。
使用未定義的識別符號
當我們嘗試訪問以前未宣告的識別符號時,會發生此錯誤。
示例
如果我們使用未定義的識別符號,以下程式將返回執行時錯誤:
# Printing undefined identifier print(tutorialsPoint)
輸出
執行後,上述程式將生成以下輸出:
Traceback (most recent call last): File "main.py", line 2, in <module> print(tutorialsPoint) NameError: name 'tutorialsPoint' is not defined
因為我們沒有定義tutorialsPoint識別符號,並且透過列印它來訪問它,所以會發生執行時錯誤(名稱錯誤)。
訪問不存在的列表元素、字典值或物件屬性
當我們嘗試訪問不存在的列表、字串、字典元素/索引時,會發生此執行時錯誤。
當我們嘗試使用不存在或過大的索引時,它會丟擲一個IndexError。
演算法(步驟)
以下是執行所需任務的演算法/步驟:
建立一個列表,併為其賦值一些隨機值。
透過給出不存在的索引來訪問列表元素並列印它。
示例
以下程式如果我們訪問超出範圍的元素,將返回索引錯誤:
# input list inputList =[1, 4, 8, 6, 2] # printing the element at index 10 of an input list # throws an IndexError as the index 10 doesn't exist in the input list print("Element at index 10:", inputList[10])
輸出
執行後,上述程式將生成以下輸出:
Traceback (most recent call last): File "main.py", line 6, in <module> print("Element at index 10:", inputList[10]) IndexError: list index out of range
列表中有5個元素,我們試圖訪問第10個索引,該索引不存在,導致索引錯誤。
嘗試訪問不存在的檔案
如果我們嘗試開啟不存在的檔案,它將丟擲一個執行時錯誤。
演算法(步驟)
以下是執行所需任務的演算法/步驟:
建立一個變數來儲存文字檔案的路徑。這是一個固定值。在下面的示例中,必須用您自己系統中的檔案路徑替換此值。
使用open()函式(開啟檔案並返回檔案物件作為結果)以只讀模式開啟文字檔案,將檔名和模式作為引數傳遞給它(這裡“r”代表只讀模式)。
givenFile = open(inputFile,"r")
列印給定檔案的值。
示例
如果我們訪問不存在的檔案,以下程式將返回檔案未找到錯誤:
# input file path inputFile = "tutorialsPoint.txt" # Opening the given file in read-only mode. givenFile = open(inputFile,"r") # Printing value of given File print(givenFile)
輸出
執行後,上述程式將生成以下輸出:
Traceback (most recent call last): File "main.py", line 4, in <module> givenFile = open(inputFile,"r") FileNotFoundError: [Errno 2] No such file or directory: 'tutorialsPoint.txt'
結論
在本文中,我們學習了Python中的執行時錯誤。我們還使用示例解釋了最常見的Python執行時錯誤。