If the reason you are avoiding catching MethodError is for speed, you could see this thread:: Performance of hasmethod vs try-catch on MethodError.
The solution is overkill (works by caching the MethodError
s) but it works, is type stable, and only faces a ~10 ns overhead.