code: public static function checkColumnName($strColName, $blnAllowSystemCol = false)
      {
          if (!self::isValidColumnName($strColName)) {
              throw new \Exception(sprintf($GLOBALS['TL_LANG']['ERR']['invalidColumnName'], $strColName));
          }
  
          if ((!$blnAllowSystemCol) && self::isSystemColumn($strColName)) {
              throw new \Exception(sprintf($GLOBALS['TL_LANG']['ERR']['systemColumn'], $strColName));
          }
      }
docs: Checks whether the column with the given name is not a MetaModel system column and is a valid column name.
  
  If there is any problem, an Exception is raised, stating the nature of the error in the Exception message.
  
  @param string  $strColName        The name of the column.
  
  @param boolean $blnAllowSystemCol If this is set to true, no system column name checking will be applied.
  
  @return void
  
  @throws \Exception If an invalid column name has been passed.
  
  @see{MetaModelTableManipulation::isSystemColumn()} and @see{MetaModelTableManipulation::isValidColumnName()}.
  
  @SuppressWarnings(PHPMD.Superglobals)
  @SuppressWarnings(PHPMD.CamelCaseVariableName)