<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def unpack(self, packed_value, major=DEFAULT_KATCP_MAJOR):
 """Parse a KATCP parameter into an object. Parameters packed_value : str The unescaped KATCP string to parse into a value. major : int, optional Major version of KATCP to use when interpreting types. Defaults to latest implemented KATCP version. Returns ------- value : object The value the KATCP string represented. """

        if packed_value is None:
            value = self.get_default()
        else:
            try:
                value = self.decode(packed_value, major)
            except Exception:
                raise
        if value is not None:
            self.check(value, major)
        return value