OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches

Legacy-compatible error and warning codes with description lookup. More...

#include <string>
#include <string_view>
Include dependency graph for ErrorCodes.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  openswmm
 

Enumerations

enum  openswmm::ErrorCode : int {
  openswmm::ERR_NONE = 0 ,
  openswmm::ERR_MEMORY = 101 ,
  openswmm::ERR_KINWAVE = 103 ,
  openswmm::ERR_ODE_SOLVER = 105 ,
  openswmm::ERR_TIMESTEP = 107 ,
  openswmm::ERR_SUBCATCH_OUTLET = 108 ,
  openswmm::ERR_AQUIFER_PARAMS = 109 ,
  openswmm::ERR_GROUND_ELEV = 110 ,
  openswmm::ERR_LENGTH = 111 ,
  openswmm::ERR_ELEV_DROP = 112 ,
  openswmm::ERR_ROUGHNESS = 113 ,
  openswmm::ERR_BARRELS = 114 ,
  openswmm::ERR_SLOPE = 115 ,
  openswmm::ERR_NO_XSECT = 117 ,
  openswmm::ERR_XSECT = 119 ,
  openswmm::ERR_NO_CURVE = 121 ,
  openswmm::ERR_PUMP_LIMITS = 122 ,
  openswmm::ERR_LOOP = 131 ,
  openswmm::ERR_MULTI_OUTLET = 133 ,
  openswmm::ERR_DUMMY_LINK = 134 ,
  openswmm::ERR_DIVIDER = 135 ,
  openswmm::ERR_DIVIDER_LINK = 136 ,
  openswmm::ERR_WEIR_DIVIDER = 137 ,
  openswmm::ERR_NODE_DEPTH = 138 ,
  openswmm::ERR_REGULATOR = 139 ,
  openswmm::ERR_STORAGE_VOLUME = 140 ,
  openswmm::ERR_OUTFALL = 141 ,
  openswmm::ERR_REGULATOR_SHAPE = 143 ,
  openswmm::ERR_NO_OUTLETS = 145 ,
  openswmm::ERR_UNITHYD_TIMES = 151 ,
  openswmm::ERR_UNITHYD_RATIOS = 153 ,
  openswmm::ERR_RDII_AREA = 155 ,
  openswmm::ERR_RAIN_FILE_CONFLICT = 156 ,
  openswmm::ERR_RAIN_GAGE_FORMAT = 157 ,
  openswmm::ERR_RAIN_GAGE_TSERIES = 158 ,
  openswmm::ERR_RAIN_GAGE_INTERVAL = 159 ,
  openswmm::ERR_CYCLIC_TREATMENT = 161 ,
  openswmm::ERR_CURVE_SEQUENCE = 171 ,
  openswmm::ERR_TIMESERIES_SEQUENCE = 173 ,
  openswmm::ERR_SNOWMELT_PARAMS = 181 ,
  openswmm::ERR_SNOWPACK_PARAMS = 182 ,
  openswmm::ERR_LID_TYPE = 183 ,
  openswmm::ERR_LID_LAYER = 184 ,
  openswmm::ERR_LID_PARAMS = 185 ,
  openswmm::ERR_LID_AREAS = 187 ,
  openswmm::ERR_LID_CAPTURE_AREA = 188 ,
  openswmm::ERR_START_DATE = 191 ,
  openswmm::ERR_REPORT_DATE = 193 ,
  openswmm::ERR_REPORT_STEP = 195 ,
  openswmm::ERR_INPUT = 200 ,
  openswmm::ERR_INPUT_LINE = 201 ,
  openswmm::ERR_ITEMS = 203 ,
  openswmm::ERR_KEYWORD = 205 ,
  openswmm::ERR_DUP_NAME = 207 ,
  openswmm::ERR_NAME = 209 ,
  openswmm::ERR_NUMBER = 211 ,
  openswmm::ERR_DATETIME = 213 ,
  openswmm::ERR_CONTROL_RULE = 217 ,
  openswmm::ERR_TRANSECT_UNKNOWN = 219 ,
  openswmm::ERR_TRANSECT_SEQUENCE = 221 ,
  openswmm::ERR_TRANSECT_TOO_FEW = 223 ,
  openswmm::ERR_TRANSECT_TOO_MANY = 225 ,
  openswmm::ERR_TRANSECT_MANNING = 227 ,
  openswmm::ERR_TRANSECT_OVERBANK = 229 ,
  openswmm::ERR_TRANSECT_NO_DEPTH = 231 ,
  openswmm::ERR_MATH_EXPR = 233 ,
  openswmm::ERR_INFILTRATION = 235 ,
  openswmm::ERR_FILE_NAME = 301 ,
  openswmm::ERR_INP_FILE = 303 ,
  openswmm::ERR_RPT_FILE = 305 ,
  openswmm::ERR_OUT_FILE = 307 ,
  openswmm::ERR_OUT_SIZE = 308 ,
  openswmm::ERR_OUT_WRITE = 309 ,
  openswmm::ERR_OUT_READ = 311 ,
  openswmm::ERR_RAIN_IFACE_SCRATCH = 313 ,
  openswmm::ERR_RAIN_IFACE = 315 ,
  openswmm::ERR_RAIN_FILE_OPEN = 317 ,
  openswmm::ERR_RAIN_FILE_SEQUENCE = 318 ,
  openswmm::ERR_RAIN_FILE_FORMAT = 319 ,
  openswmm::ERR_RAIN_IFACE_FORMAT = 320 ,
  openswmm::ERR_RAIN_IFACE_GAGE = 321 ,
  openswmm::ERR_RUNOFF_IFACE = 323 ,
  openswmm::ERR_RUNOFF_IFACE_COMPAT = 325 ,
  openswmm::ERR_RUNOFF_IFACE_EOF = 327 ,
  openswmm::ERR_RUNOFF_IFACE_READ = 329 ,
  openswmm::ERR_HOTSTART_FILE = 331 ,
  openswmm::ERR_HOTSTART_COMPAT = 333 ,
  openswmm::ERR_HOTSTART_READ = 335 ,
  openswmm::ERR_NO_CLIMATE_FILE = 336 ,
  openswmm::ERR_CLIMATE_FILE_OPEN = 337 ,
  openswmm::ERR_CLIMATE_FILE_READ = 338 ,
  openswmm::ERR_CLIMATE_FILE_EOF = 339 ,
  openswmm::ERR_RDII_IFACE_SCRATCH = 341 ,
  openswmm::ERR_RDII_IFACE = 343 ,
  openswmm::ERR_RDII_IFACE_FORMAT = 345 ,
  openswmm::ERR_ROUTING_IFACE = 351 ,
  openswmm::ERR_ROUTING_IFACE_FORMAT = 353 ,
  openswmm::ERR_ROUTING_IFACE_NAMES = 355 ,
  openswmm::ERR_ROUTING_IFACE_SAME = 357 ,
  openswmm::ERR_TABLE_FILE_OPEN = 361 ,
  openswmm::ERR_TABLE_FILE_READ = 363 ,
  openswmm::ERR_SYSTEM = 500 ,
  openswmm::ERR_API_NOT_OPENED = 501 ,
  openswmm::ERR_API_NOT_STARTED = 502 ,
  openswmm::ERR_API_NOT_ENDED = 503 ,
  openswmm::ERR_API_OBJECT_TYPE = 504 ,
  openswmm::ERR_API_OBJECT_INDEX = 505 ,
  openswmm::ERR_API_OBJECT_NAME = 506 ,
  openswmm::ERR_API_PROPERTY_TYPE = 507 ,
  openswmm::ERR_API_PROPERTY_VALUE = 508 ,
  openswmm::ERR_API_TIME_PERIOD = 509 ,
  openswmm::ERR_TIMESERIES_EMPTY = 601 ,
  openswmm::ERR_TIMESERIES_NAN = 603 ,
  openswmm::ERR_TABLE_COL_MISMATCH = 605 ,
  openswmm::ERR_GAGE_TSERIES_NOTFOUND = 607
}
 
enum  openswmm::CffiErrorCode : int {
  openswmm::CFFI_OK = 0 ,
  openswmm::CFFI_ERR_NOMEM = 1 ,
  openswmm::CFFI_ERR_INPFILE = 2 ,
  openswmm::CFFI_ERR_RPTFILE = 3 ,
  openswmm::CFFI_ERR_OUTFILE = 4 ,
  openswmm::CFFI_ERR_PARSE = 5 ,
  openswmm::CFFI_ERR_LIFECYCLE = 6 ,
  openswmm::CFFI_ERR_BADHANDLE = 7 ,
  openswmm::CFFI_ERR_BADINDEX = 8 ,
  openswmm::CFFI_ERR_BADPARAM = 9 ,
  openswmm::CFFI_ERR_PLUGIN = 10 ,
  openswmm::CFFI_ERR_IO = 11 ,
  openswmm::CFFI_ERR_HOTSTART = 12 ,
  openswmm::CFFI_ERR_CRS = 13 ,
  openswmm::CFFI_ERR_NUMERICAL = 14 ,
  openswmm::CFFI_ERR_INTERNAL = 99
}
 
enum  openswmm::CffiWarnCode : int {
  openswmm::CFFI_WARN_NONE = 0 ,
  openswmm::CFFI_WARN_HOTSTART_MISSING = 1 ,
  openswmm::CFFI_WARN_UNKNOWN_SECTION = 2 ,
  openswmm::CFFI_WARN_UNKNOWN_OPTION = 3 ,
  openswmm::CFFI_WARN_DEPRECATED_KW = 4 ,
  openswmm::CFFI_WARN_PLUGIN_INIT = 5 ,
  openswmm::CFFI_WARN_NUMERICAL = 6 ,
  openswmm::CFFI_WARN_STABILITY_LIMIT = 7
}
 
enum  openswmm::WarnCode : int {
  openswmm::WARN_NONE = 0 ,
  openswmm::WARN_WET_STEP_REDUCED = 1 ,
  openswmm::WARN_MAX_DEPTH_INCREASED = 2 ,
  openswmm::WARN_NEGATIVE_OFFSET = 3 ,
  openswmm::WARN_MIN_ELEV_DROP = 4 ,
  openswmm::WARN_MIN_SLOPE = 5 ,
  openswmm::WARN_DRY_STEP_INCREASED = 6 ,
  openswmm::WARN_ROUTING_STEP_REDUCED = 7 ,
  openswmm::WARN_ELEV_DROP_EXCEEDS = 8 ,
  openswmm::WARN_GAGE_INTERVAL = 9 ,
  openswmm::WARN_REGULATOR_CREST_LOW = 10 ,
  openswmm::WARN_CONTROL_RULE_ATTR = 11 ,
  openswmm::WARN_INLET_REMOVED = 12 ,
  openswmm::WARN_TIMESERIES_DUPLICATE_X = 101 ,
  openswmm::WARN_BOUNDARY_OVERLAP = 102
}
 

Functions

std::string_view openswmm::error_get_template (int code) noexcept
 Get the description template for an error code.
 
std::string_view openswmm::warning_get_template (int code) noexcept
 Get the description template for a warning code.
 
std::string openswmm::format_error (int code, std::string_view name="")
 Format an error message with object name substitution.
 
std::string openswmm::format_error (int code, std::string_view name, std::string_view detail)
 Format an error message with object name and additional detail.
 
std::string openswmm::format_warning (int code, std::string_view name="")
 Format a warning message with object name substitution.
 
std::string openswmm::format_warning (int code, std::string_view name, std::string_view detail)
 Format a warning with additional detail.
 
std::string_view openswmm::cffi_error_get_template (int code) noexcept
 Get the description for a CFFI error code (SWMM_ErrorCode).
 
std::string_view openswmm::cffi_warning_get_template (int code) noexcept
 Get the description for a CFFI warning code (SWMM_WarnCode).
 
std::string openswmm::format_cffi_error (int code, std::string_view name="")
 Format a CFFI error message.
 
std::string openswmm::format_cffi_warning (int code, std::string_view name="")
 Format a CFFI warning message.
 

Detailed Description

Legacy-compatible error and warning codes with description lookup.

Provides numeric error/warning codes matching the legacy SWMM error.txt / text.h definitions, plus new codes for 6.0 features. Each code has a template description string with a s placeholder for the object name, matching legacy error_getMsg() behavior.

Usage: cpp ctx.errors.push_back(format_error(ERR_TIMESERIES_SEQUENCE, "RAIN1")); ctx.warnings.push_back(format_warning(WARN_WET_STEP_REDUCED, "RG1"));

See also
Legacy reference: src/solver/error.txt, src/solver/error.c, src/solver/text.h
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License