Какие ошибки выдает func в Swift?
Я вижу, что некоторые методы выдают ошибки в документации Apple. Но я не могу найти информацию о том, что он бросает.
Как это методы ниже. Это в классе FileManager.
func moveItem(at srcURL: URL, to dstURL: URL) throws
Я хочу знать, какие ошибки он выдает. Где я могу получить соответствующую информацию?
1 ответ
В отличие от Java, где throws
для объявления требуется тип, в Swift вы не будете знать, какой тип Error
будет брошен. Единственное, что вы знаете, это то, что объект соответствует Error
-Протокол.
Если вы знаете, что функция выбрасывает цертин Error
(потому что это хорошо документировано), вам нужно будет правильно наложить пойманный объект.
Пример:
do {
try moveItem(from: someUrl, to: otherUrl)
} catch {
//there will automatically be a local variable called "error" in this block
// let's assume, the function throws a MoveItemError (such information should be in the documentation)
if error is MoveItemError {
let moveError = error as! MoveItemError //since you've already checked that error is an MoveItemError, you can force-cast
} else {
//some other error. Without casting it, you can only use the properties and functions declared in the "Error"-protocol
}
}