Alcuni database usano il termine Upsert per indicare "Aggiorna o Inserisci come necessario", ma potresti non volere l'aspetto Aggiornamento.
In generale, una funzione addItem() ha un errore implicito, previsto se l'elemento esiste già all'interno del database, quindi è possibile utilizzarlo. Il tuo codice di gestione degli errori dopo la chiamata di addItem() renderebbe chiaro che l'errore a causa di già esistente era corretto.
Infine, potresti considerare addItemExclusive() per indicare meglio che la routine verificherà la presenza prima di aggiungere l'elemento.