Exception handling retry logging SYNC vs async