You can't share any objects where the
Org-Wide Sharing Default for it is
Public Read/Write. Similar to how you can't set the sharing default to that level if you already use
From Set Your Organization-Wide Sharing Defaults:
The organization-wide default settings can’t be changed from private to public for a custom object if Apex code uses the sharing entries associated with that object. For example, if Apex code retrieves the users and groups who have sharing access on a custom object Invoice__c (represented as Invoice__share in the code), you can’t change the object’s organization-wide sharing setting from private to public.