examining the types of exceptions thrown