From 3aee3159e1a5bc86455e7155d22c3fe87f46c956 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Fri, 14 Oct 2022 22:10:18 +0800 Subject: [PATCH] LMAssembly // Add a customized error. --- .../Sources/LangModelAssembly/LMConsolidator.swift | 4 +++- .../Sources/LangModelAssembly/vChewingLM.swift | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/LMConsolidator.swift b/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/LMConsolidator.swift index b169e376..2e90306b 100644 --- a/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/LMConsolidator.swift +++ b/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/LMConsolidator.swift @@ -19,8 +19,10 @@ extension vChewingLM { /// - Returns: 結果正常則為真,其餘為假。 public static func checkPragma(path: String) -> Bool { if FileManager.default.fileExists(atPath: path) { - let fileHandle = FileHandle(forReadingAtPath: path)! do { + guard let fileHandle = FileHandle(forReadingAtPath: path) else { + throw FileErrors.fileHandleError("") + } let lineReader = try LineReader(file: fileHandle) for strLine in lineReader { // 不需要 i=0,因為第一遍迴圈就出結果。 if strLine != kPragmaHeader { diff --git a/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/vChewingLM.swift b/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/vChewingLM.swift index fbd8e731..8874e121 100644 --- a/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/vChewingLM.swift +++ b/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/vChewingLM.swift @@ -8,4 +8,8 @@ import Foundation -public enum vChewingLM {} +public enum vChewingLM { + enum FileErrors: Error { + case fileHandleError(String) + } +}