NO, hai fatto bene come hai fatto.
Questo comportamento è valido un pò per tutte le funzioni che gestiscono directory e files. Devi prima verificare se stai facendo qualcosa di anomalo, e questo è un comportamento corretto sempre e comunque, e ti permette di avere un maggior controllo sul codice.
Non affidarti semplicemente ai gestori di errore del linguaggio, questa è una prassi comune e sbagliata.
Un programma deve poter controllare tutto il possibile, e catchare solo per gli errori non prevedibili.