Premetto che di autoloading con funzioni multiple non ho molta esperienza (se usi i namespaces ti basta una sola funzione).

Cmq quando registri le funzioni php crea una coda. Quindi proverà la prima funzione e se non riesce a caricare la classe passerà alla seconda e così via.
Se lanci l'eccezione in ogni funzione "rompi" questa coda. Quindi quando provi a caricare la classe b, la prima funzione (classLoaderA) lancia l'eccezione (ovviamente non trova il file) e l'autoloading si ferma.

Quindi, togli le eccezioni o al massimo mettila nell'ultima funzione che registri