[fix] exception handling