跳轉到內容

BlitzMax/語言/異常

來自華夏公益教科書,自由的教科書

BlitzMax 提供了一種處理執行時錯誤的機制,稱為異常處理

異常實際上只是一個物件。您可以使用 Throw 命令和 Try / Catch 塊來丟擲捕獲異常。以下是一個簡單的示例

Function ExTest()
Throw "Bingo!"
End Function

Try
ExTest()
Catch ex:Object
Print ex.ToString()
End Try

丟擲異常會導致程式跳轉到最近的 Catch 塊。您可以提供多個 catch 塊來捕獲不同型別的異常。如果沒有找到適合異常的 Catch 塊,則程式將跳轉到下一個最近的 Catch 塊。如果找不到可以處理該異常的 catch 塊,則程式將結束。

BlitzMax 有幾種內建的異常型別,它們都擴充套件了 TBlitzException 型別。這些是

異常 原因
TNullMethodException 當程式試圖呼叫抽象方法時丟擲。
TNullFunctionException 當程式試圖呼叫空函式時丟擲。
TNullObjectException 當程式試圖訪問空物件時丟擲(僅在除錯模式下丟擲)。
TArrayBoundsException 當程式試圖訪問陣列邊界之外的陣列元素時丟擲(僅在除錯模式下丟擲)。
TRuntimeException RuntimeErrorAssert 命令丟擲。
華夏公益教科書