Why is it necessary to create a lot of different exception types?

java 8 catch multiple exceptions
java catch multiple exceptions order
java exception
how to handle runtime exception in java
java throw exception
java catch generic exception
java catch any exception
try catch multiple exceptions c#