try, try?, try! 의 차이점에 대해서

2023. 3. 21. 22:46·앱/Swift

swift를 공부하다보면 try? 라는 구문을 상당히 많이 접하게 된다.

이것에 대해서 궁금증이 생겨서 찾아보게 되었다.

do catch

먼저 스위프트에서는 에러처리를 do,try catch구문을 통해서 잡게 된다.

do{
	y = try something()
}
catch{}

이러한 방식으로 do 의 구문을 돌리고 에러가 발생하면 catch구문으로 넘어가게 된다.

try?

이때 catch구문을 사용하지 않고, 리턴값을 에러가 발생할때 nil을 받기위한 간단한 구문이 바로 try?이다.

이때 리턴값은 optional 이기 때문에 언래핑을 해야 값을 확인할수 있게 된다.

try!

try!또한, catch구문을 사용하지 않고, do catch문대신 사용하는 예외처리 방법이다.

해당 try!는 nil값이 반환되면 crash하기 때문에, nil값이 오지 않는 경우에만 사용하는것이 옳바르며 언래핑! 가 들어가있기 때문에 반환값은 그냥 일반 값이 된다. (non- optional)

반응형
저작자표시 비영리 변경금지 (새창열림)

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

세마포어(DispatchSemaphore)란 무었인가?  (2) 2023.03.22
GCD, Dispatchqueue란?  (0) 2023.03.22
weak , strong, unowned, ARC 는 뭐고 왜 쓰는건가요??  (0) 2023.03.21
Notification Center 이란? Delegate와의 차이점에 대해  (0) 2023.03.21
Hashable과 Equatable, 왜 사용하는가???  (0) 2023.03.21
'앱/Swift' 카테고리의 다른 글
  • GCD, Dispatchqueue란?
  • weak , strong, unowned, ARC 는 뭐고 왜 쓰는건가요??
  • Notification Center 이란? Delegate와의 차이점에 대해
  • Hashable과 Equatable, 왜 사용하는가???
진ddang
진ddang
안녕하세요 진땅의 개발자 블로그 입니다. 피드백은 환영입니다. 깃헙 : https://github.com/it794613
    반응형
  • 진ddang
    맛동산이
    진ddang
  • 전체
    오늘
    어제
    • 분류 전체보기 (202)
      • 일기 그리고 목표 (1)
      • 웹 (20)
        • 리액트 (19)
      • 앱 (118)
        • Swift 문법 (15)
        • Swift (68)
        • SwiftUI (32)
        • 리액트 네이티브 (3)
      • CS (30)
        • 컴퓨터그래픽스 (8)
        • 운영체제 (6)
        • 네트워크 (16)
      • 알고리즘 (13)
        • 백준 (12)
        • 프로그래머스 (1)
      • 대외활동 (7)
        • ict한이음(2022.04) (2)
        • 멋쟁이 사자처럼 (5)
        • Apple Developer Academy (0)
      • 다양한 내용들 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    swift concurrency
    Protocol
    widgetkit
    알고리즘
    네트워크
    dispatchqueue
    멋사
    cs
    스유
    spritekit
    SwiftUI
    문법
    위젯킷
    리액트
    스위프트
    widget
    영남대
    uikit
    후기
    컴퓨터그래픽스
    ReactorKit
    TCA
    c++
    운영체제
    웹
    멋쟁이사자처럼
    Swift
    백준
    대외활동
    composable architecture
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
진ddang
try, try?, try! 의 차이점에 대해서
상단으로

티스토리툴바