Devi sempre ricordare che i modelli grafici sono creati al solo scopo di comunicare informazioni specifiche. A tale riguardo, non esiste una cosa come "dovrebbe" questo modello contenere "questa informazione" perché tutto dipende da quali informazioni si sta tentando di trasmettere al lettore in ogni diagramma specifico.
L'unica regola empirica è che ogni modello dovrebbe contenere le informazioni che stai cercando di comunicare in modo chiaro. Niente di più, niente di meno.
Spesso questa "regola generale" potrebbe portare a disporre di più diagrammi che descrivono più o meno la stessa cosa ma da diversi punti di vista. Ad esempio, un modello di dominio e un diagramma di classe. In superficie, questi potrebbero sembrare uguali o molto simili perché entrambi usano solitamente la notazione del diagramma di classe per rappresentarli e i nomi delle classi sono talvolta uguali. Tuttavia, un modello di dominio generalmente descrive oggetti di dominio "reali" mentre il diagramma di classe mostra le classi di implementazione del software utilizzate per implementare gli oggetti "reali". Sebbene ogni modello rappresenti essenzialmente la stessa cosa, ognuno di loro sta tentando di comunicare tipi di informazioni molto diversi.
Ogni diagramma mostra chiaramente le informazioni che sta cercando di trasmettere è molto più preferibile applicare forzatamente tutte le informazioni nello stesso diagramma e lasciarlo al lettore per decifrare tutte le informazioni nascoste nei dettagli.
Quindi, nel rispondere alla tua domanda sul fatto che le classi di eccezioni dovrebbero essere nel modello di dominio, allora questo sembra essere un ovvio no. Dovrebbe essere nel diagramma di classe? Devi decidere se questo è un concetto importante per il diagramma di classe che stai disegnando. Personalmente, generalmente non lo mostrerei in un diagramma di classe per un sottosistema. Tuttavia, se dovessi inserirlo in un diagramma, sarebbe un diagramma di classe di tutte le classi di eccezioni personalizzate create o utilizzate dal sistema. D'altra parte, se stavo creando una libreria di sottosistemi per l'uso da parte di altri (su un progetto completamente diverso), allora potrei considerare di mostrare la classe di eccezione nel diagramma di classe del sottosistema, ma probabilmente solo se ci fosse qualcosa di "speciale" su la classe di eccezione che penso che gli utenti dovrebbero essere a conoscenza.
Questo è probabilmente ridondante ma è abbastanza importante da reiterare esplicitamente. I diagrammi delle classi non hanno bisogno di mostrare ogni singola classe se la loro presentazione non fornisce un valore comunicativo utile. A volte, mostrare troppo è peggio che mostrare troppo poco perché troppe informazioni possono facilmente nascondere i concetti più importanti che il diagramma dovrebbe davvero provare a trasmettere.