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?

questionAnswers(4)

yourAnswerToTheQuestion