When deliberately replacing an inner exception (using raise X fromNone), ensure that relevant details are transferred to the newexception (such as preserving the attribute name when convertingKeyError to AttributeError, or embedding the text of the originalexception in the new exception message).