Avatar
はい.それはイメージ合います. そして現状だと以下の 2 パターンがあると思いますが,let への代入前提の場合だと結局これらでも代入か脱出を強制されているので,guard とあまり変わらなさそうですね.(型を省略できる以外は) let foo: T do { foo = try bar() } catch let error as FooError { print(...); return } catch { print(...); return } let foo: T switch Result(catching: { try bar() }) { case .success(let value): foo = value case .failure(let error as FooError): print(...); return case .failure(let error): print(...); return }