Maybe you thought it was working, but it wasn't because the error was being caught. When the error is caught, then whatever called the function continues to run. So, the success handler would have run, even if there was an error and it was caught. I'm not saying that is 100% guaranteed the case, but you need to consider it as a possibility.
If Apps Script suddenly has a bug, then you'd need to prove it, and then report it. But, make sure it's actually a bug, before you report it.
Also, code run from the script editor and code triggered to run from outside the script editor can run under different permissions.