raise instead of thowing on error, func!