본문 바로가기

IT/Swift

[swift] try? try! try

[swift 기초문법] - try? try! try

try

예외 상황 다루기 위한 방법의 do ~ catch  사용해야 온전히 에러 처리를 할 수 있습니다.

기능은 try~catch 방식과 동일.하며 Do 내에서 try  메서드에 에러가 발생하면 앱이 종료되지 않고 catch 문에서 처리합니다.

do {try} catch{}문을 모두 적어주지 않아도 간편히 에러처리 가능한  try? try!를 사용하는 것이 더 효과적입니다.

 

do {

  y = try someThrowingFunction()

} catch {

  y = nil

}

 

 

 

 

try?

에러 발생  nil 반환합니다.

에러가 발생하지 않으면 반환 타입은 옵셔널(Optional)입니다.

반환 타입이 없어도 사용 가능합니다.

do-catch문 없이 사용가능합니다.

 

if let data = try? getData() {

  return data

}

 

 

try!

에러 발생  Crash가 발생합니다.

반환 타입은 언래핑(Non-Optional)입니다.

예외가 발생하지 않는다는 것을 보장하고 해당 함수를 호출하는 것으로 보시면 됩니다.

 

let image = try! loadImg(atPath: "./Resources/mainLogo.jpg")

 

 

#swift 기초

#swift 강의

#ios programming

'IT > Swift' 카테고리의 다른 글

[swift] guard  (0) 2019.08.21
[swift] Protocol  (0) 2019.08.21
[swift] 스위프트의 특징  (0) 2019.08.21
[swift] ARC(Automatic Reference Counting)  (0) 2019.08.21
[swift] Closure, Capture list  (0) 2018.04.02