Kiedy używać try Multi catch?
Nie rozumiem, kiedy używać multi-catch. Widziałem kilka postów, które kompilują typ czasu wyjątku multi catch jest najbliższym super-typem wielu typów wyjątków.
Powiedzmy, że są wyjątki typu A, B i ich najbliższy super typ C.
opcja 1
try{//whatever}
catch(A|B ex){//whatever}
Opcja 2
try{//whatever}
catch(C ex){//whatever}
opcja 3
try{//whatever}
catch(A ex){//whatever}
catch(B ex){//whatever}
W jakich idealnych sytuacjach powinniśmy używać powyższych opcji, gdy wyrzucanych jest wiele wyjątków?