Function that uses an exception to check if user exists
I would suggest working the other way around. Expect that a user does not exist and only return true if a user is found.

private function UserExists($userId)
{
    $userExists = false;

    try
    {
        $user = new User($userId);
        if($user !== null)
            $userExists = true;
    }
    catch (Exception $e)
    {
        //handle exception
    }

    return $userExists;
}


You can drive this further and ease things by not using a variable to return, like this:

private function UserExists($userId)
{
    try
    {
        return new User($userId) !== null;
    }
    catch (Exception $e)
    {
        return false;  
    }
}