punchexception function