Come lanciare un’eccezione C ++

Ho una comprensione molto scarsa della gestione delle eccezioni (ad esempio, come personalizzare il lancio, provare, prendere le dichiarazioni per i miei scopi).

Ad esempio, ho definito una funzione come segue: int compare(int a, int b){...}

Mi piacerebbe che la funzione generasse un’eccezione con qualche messaggio quando a o b è negativo.

Come devo affrontare questo nella definizione della funzione?