docstr: Alert a user about a malformed row, depending on value of
  `self.on_bad_lines` enum.
  
  If `self.on_bad_lines` is ERROR, the alert will be `ParserError`.
  If `self.on_bad_lines` is WARN, the alert will be printed out.
  
  Parameters
  ----------
  msg: str
      The error message to display.
  row_num: int
      The row number where the parsing error occurred.
      Because this row number is displayed, we 1-index,
      even though we 0-index internally.
docstr_tok: ["Alert","a","user","about","a","malformed","row",",","depending","on","value","of","`","self.on_bad_lines","`","enum",".","If","`","self.on_bad_lines","`","is","ERROR",",","the","alert","will","be","`","ParserError","`",".","If","`","self.on_bad_lines","`","is","WARN",",","the","alert","will","be","printed","out",".","Parameters","--","--","--","--","--","msg",":","str","The","error","message","to","display",".","row_num",":","int","The","row","number","where","the","parsing","error","occurred",".","Because","this","row","number","is","displayed",",","we","1-index",",","even","though","we","0-index","internally","."]
code: def _alert_malformed(self, msg: str, row_num: int) -> None:
      """
      Alert a user about a malformed row, depending on value of
      `self.on_bad_lines` enum.
  
      If `self.on_bad_lines` is ERROR, the alert will be `ParserError`.
      If `self.on_bad_lines` is WARN, the alert will be printed out.
  
      Parameters
      ----------
      msg: str
          The error message to display.
      row_num: int
          The row number where the parsing error occurred.
          Because this row number is displayed, we 1-index,
          even though we 0-index internally.
      """
      if self.on_bad_lines == self.BadLineHandleMethod.ERROR:
          raise ParserError(msg)
      if self.on_bad_lines == self.BadLineHandleMethod.WARN:
          base = f"Skipping line {row_num}: "
          sys.stderr.write(base + msg + "\n")
  
imports: from __future__ import annotations
  from collections import abc, defaultdict
  import csv
  from io import StringIO
  import re
  import sys
  from typing import IO, TYPE_CHECKING, DefaultDict, Hashable, Iterator, List, Literal, Mapping, Sequence, cast
  import numpy
  from pandas._libs import lib
  from pandas._typing import ArrayLike, ReadCsvBuffer, Scalar
  from pandas.errors import EmptyDataError, ParserError
  from pandas.core.dtypes.common import is_integer
  from pandas.core.dtypes.inference import is_dict_like
  from pandas.io.common import dedup_names, is_potential_multi_index
  from pandas.io.parsers.base_parser import ParserBase, parser_defaults
label_desc: Use image node_id 13 for calling the PythonParser obj's underlying member method code with example usage: obj._alert_malformed(msg, row_num) without return types