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

更新於 發佈於 閱讀時間約 3 分鐘
【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

avatar-img
12會員
245內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~