SimpleDomainError
が throws
じゃダメな理由がわかりました。Optional
と Simple domain error が区別されることも意味がありますが、 Simple domain error が Recoverable error と区別されることにも意味がありそうです。struct SimpleDomainError: Error {}
は、当然ですが Simple domain error なので、エラーが発生したという情報しか持たないわけです。