catch timeout errors and non-200 status codes