bad set of coefficients if the user fails to type the correct number of inputsthe program generates different kind of valueerror if the user accidentally types an identifier instead of numberthe program generates nameerror if the input is not valid python expressionit generates syntaxerror if the user types in valid python expression that produces non-numeric resultsthe program generates typeerror single try statement can have multiple except clauses to catch various possible classes of errors here' one last version of the program designed to robustly handle any possible errors in the inputquadratic py import math def main()print("this program finds the real solutions to quadratic\ "tryabc eval(input("please enter the coefficients (abc)")discroot math sqrt( croot (- discroot( aroot (- discroot( aprint("\nthe solutions are:"root root except valueerror as excobjif str(excobj="math domain error"print("no real roots"elseprint("you didn' give me the right number of coefficients "except nameerrorprint("\nyou didn' enter three numbers "except typeerrorprint("\nyour inputs were not all numbers "except syntaxerrorprint("\nyour input was not in the correct form missing comma?"exceptprint("\nsomething went wrongsorry!"main(the multiple excepts are similar to elifs if an error occurspython will try each except in turn looking for one that matches the type of error the bare except at the bottom acts like an else and will be used if none of the others match if there is no default at the bottom and none of the except types match the errorthen the program crashes and python reports the error notice how handled the two different kinds of valueerrors exceptions are actually kind of object if you follow the error type with an as in an except clausepython will