Avatar
例えば
11:31 AM
class A { typealias Error = NumberFormatException | IOException; void f() throws Error { } }
11:31 AM
こういう状況で、f()を呼び出して、そのままthrowsする関数をAのユーザーが作ったときに
11:31 AM
A.Errorで再throwsを書ければ
11:32 AM
将来A.Errorの右辺が変更したときも
11:32 AM
「Aのエラーをそのまま再throws」っていう意味の記述が維持できるけど
11:32 AM
typealiasが無いと、再throwsする関数のシグネチャも直さないといけない
11:33 AM
そういう意味でAのユーザーにとってA.Errorの実体を無視することを許すのでカプセル化?かなと