異常類
kotlin 中所有異常類都是 throwable 類的子孫類。每個異常都有訊息、堆疊回溯資訊以及可選的原因
使用 throw-表示式來丟擲異常
throw exception("hi there!")
使用 try-表示式來捕獲異常:
trycatch (e: someexception)
finally
可以有零到多個 catch 塊。finally 塊可以省略。但是 catch 與 finally 塊至少應該存在乙個
try 是乙個表示式
try 是乙個表示式,即它可以有乙個返回值
val a: int? = try catch (e: numberformatexception)
try-表示式的返回值是 try 塊中的最後乙個表示式或者是(所有)catch 塊中的最後乙個表示式。finally塊中的內容不會影響表示式的結果
受檢的異常
kotlin 沒有受檢的異常。這其中有很多原因,但我們會提供乙個簡單的例子。
以下是 jdk 中 stringbuilder 類實現的乙個示例介面
trycatch (ioexception e)
nothing 型別
在 kotlin 中 throw 是表示式,所以你可以使用它(比如)作為 elvis 表示式的一部分:
val s = person.name ?: throw illegalargumentexception("name required")
throw 表示式的型別是特殊型別 nothing。該型別沒有值,而是用於標記永遠不能達到的**位置。在你自己的**中,你可以使用 nothing 來標記乙個永遠不會返回的函式
fun fail(message: string): nothing
當你呼叫該函式時,編譯器會知道在該呼叫後就不再繼續執行了
val s = person.name ?: fail("name required")println(s) // 在此已知「s」已初始化
可能會遇到這個型別的另一種情況是型別推斷。這個型別的可空變體 nothing? 有乙個可能的值是 null 。 如果用 null 來初始化乙個要推斷型別的值,而又沒有其他資訊可用於確定更具體的型別時,編譯器會推斷出nothing? 型別
val x = null // 「x」具有型別 `nothing?`val l = listof(null) // 「l」具有型別 `list
軟體多語言
locale是指特定於某個國家或地區的一組設定,包括字符集,數字 貨幣 時間和日期的格式等。在windows中,每個locale可以用乙個32位數字表示,記作lcid。在winnt.h中可以看到lcid的組成。它的高16位表示字元的排序方法,一般為0。在它的低16位中,低10位是primary la...
多語言切換
專案中應用到了多語言切換,鞏固一下。貼上 大家一起學習。廢話不多說直接上 1 新增多語言 在res values 下預設有個strings,需要多種語言就來建立幾個strings,values右鍵 new 乙個 values res file file name 就是strings director...
Qt 筆記 多語言
1 使用命令 lupdate no obsolete main.pro 作用 將main.pro檔案內的所有源程式檔案中的被tr 包裝的字串打包成.ts檔案,此檔案可以使用qt的qt linguist開啟並翻譯 2 使用命令 lrelease main.pro 作用 通過.ts檔案生成.qm檔案,此...