もくもく独書 とは
Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2017/02/07
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
上記の Swift実践入門を読みながら、思った事をTweetしていく取り組みです。
Swiftをはじめから丁寧にやっていきます。 なるべく毎日更新を目標にする。
リンク
前回:
次回:
今日の取り組み
今日もやってくぞー。 今日は第十三章「エラー処理」について。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月11日
Swiftは実行時の安全性が高い言語といえどもネットワーク接続エラーだったりエラーの発生が避けられない処理がある。こういったエラーの処理を学んでいく。#もくもく独書
Swift1.xでは Objective-Cのエラー処理と同様であったため、Swift独自のエラー処理の方法は用意されていなかった。Swiftの特性を活かす為に エラー処理方法の一つとして Result<T, Error>型によるエラー処理を編み出した。今でも使われている。 Swift2.0より do-catch文が登場した。#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月11日
[https://twitter.com/ikkitang/status/1006183712092909568:embed#まず、 Optional
[https://twitter.com/ikkitang/status/1006183736981901317:embed#続いて Result<T, Error>型によるエラーの実装について。Optional
続いて、do-catch文を用いたエラーについてです。 do-catch文はSwift2.0で追加されたSwift標準のエラー処理機構です。do-catch文によるエラー処理ではエラーが発生する可能性のある処理をdo節内に記述し、catch節にエラーが発生した時の制御を記述します。pic.twitter.com/kKOJzi7v7e#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月11日
thorw文でthrowする型はErrorプロトコルに準拠している必要があります。 Errorプロトコルにおいて実装すべきメソッド等はありませんが、列挙型として定義する事が一般的です。 catch節にパターンマッチを利用できる事や連想値を用いて付加情報を付けられるメリットがあります。#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月11日
関数の定義としてthrowsキーワードを追加する事でそれらの中でdo-catch文を用いずにthrow文によるエラーを発生させる事ができる。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月11日
また rethrows キーワードを使用すると、引数のクロージャにて発生したエラーを関数の呼び出し元に伝搬させる事ができます。pic.twitter.com/ZhRqkEQeEW#もくもく独書
throwsキーワードが指定された関数を呼び出す時には、tryキーワードを指定します。 tryキーワードを指定した処理の呼び出しはdo-catch文のdo節やthrowsキーワードが指定された処理の内部でのみ指定する事ができる。#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月11日
ただし、throwsキーワードが指定された関数であっても、この呼出に限りエラーが発生しないとわかっている場合などは tryの代わりに try! キーワードを指定してエラー処理を省略する事ができる。 ただし、実際にエラーが発生した時は実行時エラーとなります。#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月11日
[https://twitter.com/ikkitang/status/1006184002942668801:embed#try・try!キーワードとならび、try?キーワードというのもある。try? キーワードを用いて throwsキーワードのついた関数を呼び出すと戻り値は Optional
Swift実践入門について
今はSwift4対応の改訂版出てるのでそっち読んだほうがいいよ。多分。
[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2018/01/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る