Multiple exits can arise for a variety of reasons, most often either that the subroutine has no more work to do (if returning a value, it has completed the calculation), or has encountered "exceptional" circumstances that prevent it from continuing, hence needing exception handling.
multiple exits can arise for a variety of reasons most often either that the subroutine has no more work to do (if returning a value it has completed the calculation) or has encountered "exceptional" circumstances that prevent it from continuing hence needing exception handling