def METHOD_NAME(caplog, monkeypatch, fncPath):
    """Check import error handling."""
    monkeypatch.setattr("novelwriter.guimain.GuiMain", MockGuiMain)
    monkeypatch.setattr("PyQt5.QtWidgets.QApplication.__init__", lambda *a: None)
    monkeypatch.setattr("PyQt5.QtWidgets.QApplication.exec_", lambda *a: 0)
    monkeypatch.setattr("PyQt5.QtWidgets.QErrorMessage.__init__", lambda *a: None)
    monkeypatch.setattr("PyQt5.QtWidgets.QErrorMessage.resize", lambda *a: None)
    monkeypatch.setattr("PyQt5.QtWidgets.QErrorMessage.showMessage", lambda *a: None)
    monkeypatch.setattr("sys.hexversion", 0x0)
    monkeypatch.setattr("novelwriter.CONFIG.verQtValue", 0x050000)
    monkeypatch.setattr("novelwriter.CONFIG.verPyQtValue", 0x050000)
    with pytest.raises(SystemExit) as ex:
        _ = main(
            ["--testmode", f"--config={fncPath}", f"--data={fncPath}"]
        )
    assert ex.value.code & 4 == 4    # Python version not satisfied
    assert ex.value.code & 8 == 8    # Qt version not satisfied
    assert ex.value.code & 16 == 16  # PyQt version not satisfied
    assert "At least Python" in caplog.messages[0]
    assert "At least Qt5" in caplog.messages[1]
    assert "At least PyQt5" in caplog.messages[2]