例外の型なんて精々リトライ可能かどうかの判断とデバッグくらいにしか使わないんだから、そんなに厳密に扱う必要ないんだよ
多くの人に使われるようなオプソライブラリを作るレベルの人はそのへんの匙加減をよく理解していて、
いちいち例外を全部場合分けして個別に作り込みをしてるようなドカタレベルの開発者とはだいぶギャップがある