assert(...) non è adatto al tuo scopo, si utilizza per valutare le espressioni.

Per il resto quello che stai facendo va bene, esaminare le possibili eccezioni in entrata e in uscita nel tuo codice.