Avatar
Avatar
koher
下層でエラーが一種類追加されるだけで、それを呼び出す全ての関数に追加する変更をしないといけない、とかにになって、「大きな手間」になったりもしますね。
多分、さっきの any Error が出てくるとか下層のエラーが型に現れてくるとかから考えても、各レイヤーのセマンティクスで定義されるエラーは下層のエラーを含まない(ラップしない)というのが型的には正しそうな気がする。そうすれば、Existentialは必要ないし、下層のエラーのセマンティクスで上層の利用者がハンドリングしてしまうことがない。 けど、現実的には下層のエラーの理由を知りたいし、ログに残したいし、そういうわけにもいかない。なんか別口でエラーの原因を取得できる口があるといいのかなぁ。
その取得できる口が enum APICallError { case ... case network(any Error /*これ*/) } ↑に該当するのではないでしょうか? (edited)
t_naruhodo 1