반응형
Swift에서 'catch all'예외의 세부 사항을 인쇄하는 방법은 무엇입니까?
Swift를 사용하도록 코드를 업데이트하고 있는데 'catch all'절과 일치하는 예외에 대한 오류 세부 정보를 인쇄하는 방법이 궁금합니다. 내 요점을 설명하기 위해이 Swift Language Guide 페이지 의 예제를 약간 수정했습니다 .
do {
try vend(itemNamed: "Candy Bar")
// Enjoy delicious snack
} catch VendingMachineError.InvalidSelection {
print("Invalid Selection.")
} catch VendingMachineError.OutOfStock {
print("Out of Stock.")
} catch VendingMachineError.InsufficientFunds(let amountRequired) {
print("Insufficient funds. Please insert an additional $\(amountRequired).")
} catch {
// HOW DO I PRINT OUT INFORMATION ABOUT THE ERROR HERE?
}
예상치 못한 예외가 발견되면 그 원인에 대해 무언가를 기록 할 수 있어야합니다.
방금 알아 냈어요. Swift Documentation에서 다음 줄을 발견했습니다.
catch 절이 패턴을 지정하지 않으면 절은 오류를 일치시키고 error라는 로컬 상수에 바인딩합니다.
그래서 나는 이것을 시도했다.
do {
try vend(itemNamed: "Candy Bar")
...
} catch {
print("Error info: \(error)")
}
그리고 그것은 나에게 좋은 설명을주었습니다.
에서 스위프트 프로그래밍 언어 :
경우
catch
절 패턴을 지정하지 않는 조항이 일치하고 바인드라는 로컬 상수 오류합니다error
.
즉 let error
, catch
절에 암시적인 내용 이 있습니다.
do {
// …
} catch {
print("caught: \(error)")
}
또는 let constant_name
유효한 패턴으로 보이므로 오류 상수의 이름을 바꾸는 데 사용할 수 있습니다 (이름 error
이 이미 사용중인 경우 유용 할 수 있음 ).
do {
// …
} catch let myError {
print("caught: \(myError)")
}
참고 URL : https://stackoverflow.com/questions/31352593/how-to-print-details-of-a-catch-all-exception-in-swift
반응형
'code' 카테고리의 다른 글
실행 중 셸 스크립트 편집 (0) | 2020.10.15 |
---|---|
Android Studio의 "res"폴더로 이미지를 가져 오거나 복사하는 방법은 무엇입니까? (0) | 2020.10.14 |
JDK와 Java SDK의 차이점 (0) | 2020.10.14 |
HTML에 글꼴을 포함하는 방법은 무엇입니까? (0) | 2020.10.14 |
OpenFileDialog 경로 / 파일 이름에서 경로 추출 (0) | 2020.10.14 |