Check the usage conditions properly, don't just throw it in a try...catch