Code

Adding more robust and detailed checks and messages.