checked and unchecked exceptions