The exception message is "Alert/Settings is active for current datafield" but it's not documented, and there doesn't seem to be a documented dedicated exception class that developers can catch. If a generic exception is being used with a different message, it's currently not possible for developers to easily determine this, as the exception class name is not currently displayed in the crash log. The dev could guess at exception classes and write "instanceof" code to confirm those guesses, but it would be nicer if this was just documented.
Also, it's not clear what would happen if alert/setting is active for *another* CIQ data field or a native alert is being display, when your CIQ data field calls showAlert(). Will the same exception be thrown? Will showAlert() be ignored? Will showAlert() override what's currently being displayed? It would be nice if this were documented.