<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _handle_posix_error(exc, cwd, cmd):
 """OSError handling for posix systems. Some things that could happen to trigger an OSError: - cwd could not exist - exc.errno == ENOENT - exc.filename == cwd - cwd could have permissions that prevent the current user moving to it - exc.errno == EACCES - exc.filename == cwd - cwd could exist but not be a directory - exc.errno == ENOTDIR - exc.filename == cwd - cmd[0] could not exist - exc.errno == ENOENT - exc.filename == None(?) - cmd[0] could exist but have permissions that prevents the current user from executing it (executable bit not set for the user) - exc.errno == EACCES - exc.filename == None(?) """

    if getattr(exc, 'filename', None) == cwd:
        _handle_posix_cwd_error(exc, cwd, cmd)
    else:
        _handle_posix_cmd_error(exc, cwd, cmd)