KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PARSE_ERROR Struct Reference

A filename or source description, a problem input line, a line number, a byte offset, and an error message which contains the caller's report and his call site information: CPP source file, function, and line number. More...

#include <ki_exception.h>

Inheritance diagram for PARSE_ERROR:
IO_ERROR FUTURE_FORMAT_ERROR

Public Member Functions

 PARSE_ERROR (const wxString &aProblem, const char *aThrowersFile, const char *aThrowersFunction, int aThrowersLineNumber, const wxString &aSource, const char *aInputLine, int aLineNumber, int aByteIndex)
 Normally called via the macro THROW_PARSE_ERROR so that FILE, FUNCTION, and LINE can be captured from the call site.
 
void init (const wxString &aProblem, const char *aThrowersFile, const char *aThrowersFunction, int aThrowersLineNumber, const wxString &aSource, const char *aInputLine, int aLineNumber, int aByteIndex)
 
 ~PARSE_ERROR () throw ()
 
const wxString ParseProblem ()
 
void init (const wxString &aProblem, const char *aThrowersFile, const char *aThrowersFunction, int aThrowersLineNumber)
 
virtual const wxString Problem () const
 what was the problem?
 
virtual const wxString Where () const
 where did the Problem() occur?
 
virtual const wxString What () const
 A composite of Problem() and Where()
 

Public Attributes

int lineNumber
 at which line number, 1 based index.
 
int byteIndex
 at which byte offset within the line, 1 based index
 
std::string inputLine
 problem line of input [say, from a LINE_READER].
 

Protected Member Functions

 PARSE_ERROR ()
 

Protected Attributes

wxString parseProblem
 
wxString problem
 
wxString where
 

Detailed Description

A filename or source description, a problem input line, a line number, a byte offset, and an error message which contains the caller's report and his call site information: CPP source file, function, and line number.

Author
Dick Hollenbeck

Definition at line 119 of file ki_exception.h.

Constructor & Destructor Documentation

◆ PARSE_ERROR() [1/2]

PARSE_ERROR::PARSE_ERROR ( const wxString &  aProblem,
const char *  aThrowersFile,
const char *  aThrowersFunction,
int  aThrowersLineNumber,
const wxString &  aSource,
const char *  aInputLine,
int  aLineNumber,
int  aByteIndex 
)
inline

Normally called via the macro THROW_PARSE_ERROR so that FILE, FUNCTION, and LINE can be captured from the call site.

Definition at line 134 of file ki_exception.h.

◆ ~PARSE_ERROR()

PARSE_ERROR::~PARSE_ERROR ( )
throw (
)
inline

Definition at line 149 of file ki_exception.h.

◆ PARSE_ERROR() [2/2]

PARSE_ERROR::PARSE_ERROR ( )
inlineprotected

Definition at line 154 of file ki_exception.h.

Member Function Documentation

◆ init() [1/2]

void IO_ERROR::init ( const wxString &  aProblem,
const char *  aThrowersFile,
const char *  aThrowersFunction,
int  aThrowersLineNumber 
)
inherited

Definition at line 53 of file exceptions.cpp.

References IO_ERROR::problem, and IO_ERROR::where.

◆ init() [2/2]

void PARSE_ERROR::init ( const wxString &  aProblem,
const char *  aThrowersFile,
const char *  aThrowersFunction,
int  aThrowersLineNumber,
const wxString &  aSource,
const char *  aInputLine,
int  aLineNumber,
int  aByteIndex 
)

Definition at line 71 of file exceptions.cpp.

References _, byteIndex, inputLine, lineNumber, parseProblem, IO_ERROR::problem, and IO_ERROR::where.

◆ ParseProblem()

const wxString PARSE_ERROR::ParseProblem ( )
inline

Definition at line 151 of file ki_exception.h.

Referenced by PANEL_SETUP_RULES::OnCompile().

◆ Problem()

◆ What()

const wxString IO_ERROR::What ( ) const
virtualinherited

A composite of Problem() and Where()

Definition at line 30 of file exceptions.cpp.

References IO_ERROR::Problem(), and IO_ERROR::Where().

Referenced by SCH_EDIT_FRAME::AddDesignBlockLibrary(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_TREE_MODEL_ADAPTER::AddLibrary(), SYMBOL_EDIT_FRAME::addLibTableEntry(), PCB_CONTROL::AppendBoard(), PCB_IO_MGR::ConvertLibrary(), PL_EDIT_TOOL::Copy(), SIM_MODEL::Create(), SCH_EDIT_FRAME::CreateArchiveLibrary(), SCH_PLOTTER::createDXFFiles(), SCH_PLOTTER::createHPGLFiles(), SCH_EDIT_FRAME::createNewDesignBlockLibrary(), PCB_BASE_EDIT_FRAME::createNewLibrary(), SCH_PLOTTER::createPDFFile(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_PLOTTER::createPSFiles(), SCH_PLOTTER::createSVGFiles(), SCH_EDIT_FRAME::DeleteDesignBlockFromLibrary(), SCH_EDIT_FRAME::DeleteDesignBlockLibrary(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), PROJECT::DesignBlockLibs(), SYMBOL_PREVIEW_WIDGET::DisplaySymbol(), DS_DATA_MODEL_FILEIO::DS_DATA_MODEL_FILEIO(), DS_DATA_MODEL_STRINGIO::DS_DATA_MODEL_STRINGIO(), SCH_EDIT_FRAME::EditDesignBlockProperties(), PCB_EDIT_FRAME::Export_IDF3(), FOOTPRINT_EDIT_FRAME::ExportFootprint(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), PCB_EDIT_FRAME::ExportSpecctraFile(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), PCB_EDIT_FRAME::FetchNetlistFromSchematic(), PCB_IO_EAGLE::FootprintEnumerate(), PCB_IO_GEDA::FootprintEnumerate(), PCB_IO_KICAD_LEGACY::FootprintEnumerate(), PCB_IO_KICAD_SEXPR::FootprintEnumerate(), FOOTPRINT_INFO_GENERATOR::GenerateHtml(), DESIGN_BLOCK_TREE_MODEL_ADAPTER::GenerateInfo(), PCB_EDIT_FRAME::GenIPC2581File(), PCB_EDIT_FRAME::GenODBPPFiles(), SYMBOL_LIBRARY_MANAGER::GetAlias(), SYMBOL_LIBRARY_MANAGER::GetBufferedSymbol(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), SYMBOL_LIBRARY_MANAGER::GetLibrary(), SYMBOL_LIBRARY_MANAGER::getOriginalSymbols(), PGM_BASE::HandleException(), SCH_EDIT_FRAME::importFile(), FOOTPRINT_EDIT_FRAME::ImportFootprint(), PCB_EDIT_FRAME::ImportSpecctraSession(), SYMBOL_EDIT_FRAME::ImportSymbol(), InvokeEditDesignBlockLibTable(), InvokePcbLibTableEditor(), InvokeSchEditSymbolLibTable(), PCBNEW_JOBS_HANDLER::JobExportIpc2581(), GPCB_FPL_CACHE::Load(), FP_CACHE::Load(), PNS_LOG_FILE::Load(), LTSPICE_SCHEMATIC::Load(), SYMBOL_LIBS::LoadAllLibraries(), KI_TEST::LoadBoard(), DS_DATA_MODEL::LoadDrawingSheet(), SCH::IFACE::loadGlobalDesignBlockLibTable(), SCH::IFACE::loadGlobalLibTable(), PCB::IFACE::loadGlobalLibTable(), SCH_IO_KICAD_SEXPR::loadHierarchy(), SCH_IO_KICAD_LEGACY::loadHierarchy(), SCH_IO_LTSPICE::LoadSchematicFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbol(), SYMBOL_EDIT_FRAME::LoadSymbolFromCurrentLib(), LoadVRML(), main(), DIALOG_SCHEMATIC_SETUP::onAuxiliaryAction(), DIALOG_BOARD_SETUP::onAuxiliaryAction(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), APP_TEST::OnInit(), CV::IFACE::OnKifaceStart(), APP_TEST::OnRun(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), DIALOG_SIM_MODEL< T >::onWaveformChoice(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), PCB_IO_KICAD_SEXPR_PARSER::parseBOARD_unchecked(), SPICE_LIBRARY_PARSER::parseFile(), PCB_IO_KICAD_SEXPR_PARSER::parseFOOTPRINT_unchecked(), SCH_IO_KICAD_SEXPR_PARSER::parseLibSymbol(), SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic(), DESIGN_BLOCK_GRID_TRICKS::paste_text(), SYMBOL_GRID_TRICKS::paste_text(), FP_GRID_TRICKS::paste_text(), PROJECT::PcbFootprintLibs(), PROJECT_PCB::PcbFootprintLibs(), PANEL_SYMBOL_CHOOSER::populateFootprintSelector(), PANEL_REGULATOR::ReadDataFile(), CVPCB_MAINFRAME::readNetListAndFpFiles(), PCB_EDIT_FRAME::ReadNetlistFromFile(), NETLIST_EXPORTER_SPICE::ReadSchematicAndLibraries(), CVPCB_MAINFRAME::readSchematicNetlist(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), PCB_EDIT_FRAME::RunEeschema(), LIB_BUFFER::SaveBuffer(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), FOOTPRINT_EDIT_FRAME::SaveLibraryAs(), PCB_EDIT_FRAME::SavePcbCopy(), PCB_EDIT_FRAME::SavePcbFile(), SCH_EDIT_FRAME::saveSchematicFile(), SCH_EDIT_FRAME::SaveSelectionAsDesignBlock(), SCH_EDIT_FRAME::SaveSheetAsDesignBlock(), SCH_BASE_FRAME::saveSymbolLibTables(), SchGetDesignBlock(), SchGetLibSymbol(), PROJECT_SCH::SchLibs(), PROJECT_SCH::SchSymbolLibTable(), PCB_BASE_FRAME::setFPWatcher(), SCH_BASE_FRAME::setSymWatcher(), PANEL_SYMBOL_CHOOSER::showFootprintFor(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_EDITOR_CONTROL::SimProbe(), DIALOG_GLOBAL_DESIGN_BLOCK_LIB_TABLE_CONFIG::TransferDataFromWindow(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), DIALOG_GLOBAL_SYM_LIB_TABLE_CONFIG::TransferDataFromWindow(), DIALOG_GLOBAL_FP_LIB_TABLE_CONFIG::TransferDataFromWindow(), SCH_SCREEN::UpdateSymbolLinks(), PANEL_SYM_LIB_TABLE::verifyTables(), SYMBOL_ASYNC_LOADER::worker(), WriteDRCReport(), NETLIST_EXPORTER_KICAD::WriteNetlist(), and SYMBOL_LIB_TABLE_RESCUER::WriteRescueLibrary().

◆ Where()

const wxString IO_ERROR::Where ( ) const
virtualinherited

where did the Problem() occur?

Definition at line 40 of file exceptions.cpp.

References IO_ERROR::where.

Referenced by PCB_EDIT_FRAME::FetchNetlistFromSchematic(), and IO_ERROR::What().

Member Data Documentation

◆ byteIndex

int PARSE_ERROR::byteIndex

at which byte offset within the line, 1 based index

Definition at line 122 of file ki_exception.h.

Referenced by FUTURE_FORMAT_ERROR::FUTURE_FORMAT_ERROR(), init(), and PANEL_SETUP_RULES::OnCompile().

◆ inputLine

std::string PARSE_ERROR::inputLine

problem line of input [say, from a LINE_READER].

this is brought up in original byte format rather than wxString form, in case there was a problem with the encoding, in which case converting to wxString is not reliable in this context.

Definition at line 128 of file ki_exception.h.

Referenced by FUTURE_FORMAT_ERROR::FUTURE_FORMAT_ERROR(), init(), and PROJECT_SCH::SchLibs().

◆ lineNumber

int PARSE_ERROR::lineNumber

at which line number, 1 based index.

Definition at line 121 of file ki_exception.h.

Referenced by FUTURE_FORMAT_ERROR::FUTURE_FORMAT_ERROR(), init(), and PANEL_SETUP_RULES::OnCompile().

◆ parseProblem

wxString PARSE_ERROR::parseProblem
protected

Definition at line 161 of file ki_exception.h.

Referenced by init().

◆ problem

wxString IO_ERROR::problem
protectedinherited

◆ where

wxString IO_ERROR::where
protectedinherited

Definition at line 108 of file ki_exception.h.

Referenced by IO_ERROR::init(), init(), and IO_ERROR::Where().


The documentation for this struct was generated from the following files: