Hey so there are a couple issues with the current approach:  This a bunch of reflective calls + exception handling every time it is called. That will have huge performance overhead. Also, this catch-all exception is sort of scary... what if there is a legitimate exception invoking this function in versions that support it? The user will never be able to find it. 