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執行時錯誤。

更新於:2022年10月31日

11K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告