Use Test::Exception instead of eval