This results in no field object being returned if the field has no entry in the DB for the current post.
$field = get_field_object('cat_id');
Even if you do it this way
$field = get_field_object('cat_id', $post_id);
ACF must find the field key reference in the DB for this field on this post. Since there is nothing in the DB ACF cannot get the field key reference and this means it cannot find the correct field definition. You must supply the field key.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users