They are numbers of reasons due to which run time errrors may be raised during the execution of a pl/sql block.when an error occur,an exception is raised;normal execution is stopped and control is transfered to an exception-handling section of pl/sql program.A specific section can be defined in the program to handle exception.Separate subroutines called exception handlers can be created to perform all exception processing.
Trapping an Exception:
if the exception is raised in the excetuble section of the block processing branches to the correspondling handlers in the exception section of the block/If pl/sql successfully handle the exception,then the exception does not propagate to the enclosing block or environment.
Propagation of Exception:
if the exception is raised in the executable section of the block and there is no corresponding exception handlers,the pl/sql block terminates with failure and the exception is propagated to the calling environment.