dont throw unecessary exceptions