As I understand while developing the software exception handling is crucial for a bug free software. I have a doubt how bug can be pinned down with try and except block. For following code: try: X=10 Y=2 print(X+"hello") print(X/Y) except ZeroDivisionError: print("Divided by zero") except (ValueError, TypeError): print("Error occurred") Output output is:: Error occurred In 2nd except: statement two type of errors were envisaged. My quarry is if while processing if code is not telling which error has occurred out of two or any other type of error has occurred which is not envisaged what's the use of writing such elaborate code. why not only except: statement. Same quarry is presented in different way if 2nd except is only" except: " even then there is no change in output. Looking for response.