2023-12-08|閱讀時間 ‧ 約 2 分鐘

【Kotlin 入門指南】自定義異常處理

【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 表達式,我們可以根據不同的例外狀況做出相對應的處理,例如這裡分別處理了 InputDataErrorNetworkError

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.