make name more specific like throwExceptionForTooNarrowVarcharAndVarbinary
Also, the "if (maxLength == 0) { throwFatalLogicErrorStreamed(..." block above might be good to factor into this function -- to benefit all callers.