re throwing exception instead of calling system.exit