Which one of these codes handles the exception correctly ?
def g(a): try: print(1/a) raise ZeroDivisionError: print("Error") g(0)
def g(a): print(1/a) except ZeroDivisionError: print("Error") g(0)
def g(a): try: print(1/a) except ValueError: print("Error") finally: print("Done") g(0)
def g(a): try: print(1/a) except ZeroDivisionError: print("Error") finally: print("Done") g(0)