質問: { reachability in print("インターネット接続なし") } reachability.startNotifier() // エラー(Call can throw, but it is not marked with 'try' and the error is not handled) ``` とすると、 > > Call can throw, but it is not marked with 'try' and the error is not handled > > > というエラーがでます。 どのようにエラーハンドリングを書けばいいのでしょうか? よろしくおねがいします。
回答: 「reachabilityForInternetConnection」メソッドはコードを見ると「ReachabilityError」というenumをエラーとして投げるので、次の様に、do-try-catchで、「ReachabilityError」を捉えるような、エラー制御を書けば良いと思います。 ``` do { let reachability = try AMReachability.reachabilityForInternetConnection() if reachability.isReachable() { print("インターネット接続あり") } else { print("インターネット接続なし") } } catch let error as ReachabilityError { // エラー処理 } catch let error as NSError { // NSErrorが投げられた場合 } catch { // その他ハンドル出来なかったもの } ``` 「reachabilityForInternetConnection」メソッドのように「throws」が宣言された、エラーを投げるメソッドは「try」付きで呼び出す必要があります。「Call can throw, but it is not marked with 'try' and the error is not handled」はそのことを意味しています。