exceptions allow the program to handle errors and other "unusualsituations in flexible and clean way basic conceptsraising an exception exception can be raised by user code or by system handling an exception defines what to do when an exception is raisedtypically in user code there can be different exceptions and they can be handled by different code