It is, strangely.  I added a comment, but basically, the JNI wrapper attempts to throw a java.lang.InternalError (which is the wrong error anyway), but it does it incorrectly (see Todd's comment above) and so instead we get the NoClassDefFoundError.  Maybe this is not the case with every version of hadoop?  Would it be "safer" to catch "Exception"?