<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def mv(src, dst):
 """ Move a file or directory. If the destination already exists, this will attempt to overwrite it. Arguments: src (string):
 path to the source file or directory. dst (string):
 path to the destination file or directory. Raises: File404: if source does not exist. IOError: in case of error. """

    if not exists(src):
        raise File404(src)

    try:
        shutil.move(src, dst)
    except Exception as e:
        raise IOError(str(e))