【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q
在 Kotlin 中,自訂例外處理能讓你更精確地處理不同的錯誤狀況,並針對不同的錯誤類型進行適當的處理。學會如何建立自訂例外狀況並在程式中使用它們。能更有效地處理錯誤,寫出更穩健的 Kotlin 程式碼!
我們可以建立自己的例外狀況類別,這些類別可以繼承自內建的例外類別,比如 Exception
或其子類別,來表示特定的錯誤情況。讓我們看一個範例:
// 自定義例外狀況類別
class InputDataError : IllegalArgumentException()
class NetworkError : RuntimeException()
在這個範例中,InputDataError
繼承自 IllegalArgumentException
,而 NetworkError
繼承自 RuntimeException
。這些自訂例外類別可以用來表示不同類型的錯誤,讓我們可以更有針對性地處理這些錯誤。
接下來,讓我們看一個示範如何在程式中使用自訂例外。假設我們有一個名為 loginAPI()
的函數,我們希望當出現特定錯誤時拋出自訂例外:
fun loginAPI() {
// 在特定情況下拋出自訂例外
throw InputDataError()
}
在 loginAPI()
函數中,當特定條件不符時,我們拋出了 InputDataError
這個自訂例外。
現在,讓我們在 main()
函數中使用 try-catch
區塊來處理這些自訂例外:
fun main() {
try {
loginAPI()
} catch (e: Exception) {
when (e) {
is InputDataError -> println("無效的資料")
is NetworkError -> println("網路例外")
}
}
}
在這個範例中,我們呼叫了 loginAPI()
函數並在 try
區塊中執行。如果 loginAPI()
拋出了例外,則 catch
區塊會捕捉到這個例外並進行處理。透過 when
表達式,我們可以根據不同的例外狀況做出相對應的處理,例如這裡分別處理了 InputDataError
和 NetworkError
。