Fixed critical error handling issue where errors were not propagated high enough through the abstraction layering to be caught correctly for synchronous API calls