all error are thrown as exceptions