【Kotlin 入門指南】Java 和 Kotlin 混合使用 - Kotlin 註解 @Throws

【Kotlin 入門指南】Java 和 Kotlin 混合使用 - Kotlin 註解 @Throws

更新於 發佈於 閱讀時間約 3 分鐘
【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q

Throws

@Throws 是 Kotlin 中用來標記函數可能會拋出(throw)特定類型異常的註解。當你使用這個註解標記一個函數時,表示這個函數可能會丟出指定的異常類型。這有助於告訴其他開發者,在使用你的函式時要特別注意處理這類異常情況。

例如,我們常在讀取檔案或是解析 API 特定 Json 欄位資料,若沒有特別使用 try…catch/finaly 處理例外發生,在程式碼語法檢查階段 (checked exceptions),就會顯示相對應錯誤,以確保程式運行時的安全性。

Kotlin 註解 @Throws 範例檔案目錄結構

檔名錯誤或檔案放置不正確的情況下,將會導致編譯錯誤或呼叫時的問題,需要特別留意:

  • 「Main.kt」放在「src/main/kotlin」目錄裡面。
  • 「JavaClassDemo.java」要放在「src/main/java/com.teachable.hkt」目錄裡面。
raw-image

Main.kt

在這個範例中 kotlinFun2 有加入 @Throws 註解,Java 呼叫此方法若沒有特別處理異常狀況,編譯時將會顯示錯誤。

//沒有設定 package 名稱,Java 無法順利呼叫使用
package com.teachable.hkt

import java.io.IOException

fun kotlinFun1() {
throw IOException()
}

@Throws(KotlinClassDemo::class)
fun kotlinFun2() {
throw KotlinClassDemo()
}

class KotlinClassDemo : Exception() {
override fun toString(): String {
return "發生自定義不可預期的錯誤"
}
}

fun main() {
kotlinFun1()
kotlinFun2()
}

JavaClassDemo.java

package com.teachable.hkt;

public class JavaClassDemo {
public static void main(String[] args) {
MainKt.kotlinFun1();//正確
MainKt.kotlinFun2();//錯誤,要特別處理異常錯誤
}
}
avatar-img
HKT實驗室
21會員
261內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
留言
avatar-img
留言分享你的想法!
HKT實驗室 的其他內容
本文介紹 Kotlin 中的延遲初始化(lateinit)和懶加載(lazy)的使用方法,以及它們之間的差異。這些關鍵字能夠提升程式效能並簡化程式碼撰寫。
空值例外是開發中一個常見的風險,特別是在 Kotlin 和 Java 這樣的跨平台開發中更容易出現。藉由合理地運用 Kotlin 的空值安全機制以及對 Java 程式碼的註解,可以有效地降低程式錯誤的風險,提高程式碼的可靠性和穩定性。
在 IntelliJ IDEA 建立 Kotlin 專案時,要執行 Java 程式只需將其檔案命名為 .java,並放置在專案的 java 目錄中。這樣就可以順利執行該 Java 程式。
本文介紹 Kotlin 中的延遲初始化(lateinit)和懶加載(lazy)的使用方法,以及它們之間的差異。這些關鍵字能夠提升程式效能並簡化程式碼撰寫。
空值例外是開發中一個常見的風險,特別是在 Kotlin 和 Java 這樣的跨平台開發中更容易出現。藉由合理地運用 Kotlin 的空值安全機制以及對 Java 程式碼的註解,可以有效地降低程式錯誤的風險,提高程式碼的可靠性和穩定性。
在 IntelliJ IDEA 建立 Kotlin 專案時,要執行 Java 程式只需將其檔案命名為 .java,並放置在專案的 java 目錄中。這樣就可以順利執行該 Java 程式。