![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The exception types the port throws. More...
#include <cstddef>#include <stdexcept>#include <string>#include <utility>Go to the source code of this file.
Classes | |
| struct | line::ErrorKind |
| The <kind> part of a LINE:<category>:<kind> identifier (see _kb/17-error-vocabulary.md): an identifier such as Cache, SchedStrategy_PS, NonConvergence or Method. More... | |
| class | line::Error |
| Base error for the multiprecision C++ port. More... | |
| class | line::InputError |
| Malformed or inconsistent input (dimensions, negative populations, ...): LINE:input:<kind>. More... | |
| class | line::NumericError |
| The algorithm cannot produce a trustworthy answer on this instance: LINE:numerical:<kind>. More... | |
| class | line::UnsupportedError |
| A refusal: the feature, method or analysis is not covered: LINE:unsupported:<kind>. More... | |
| class | line::ExternalError |
| A tool, binary, service or bridge LINE depends on is missing or failed: LINE:external:<kind>. More... | |
| class | line::InternalError |
| An invariant LINE should guarantee was violated, i.e. More... | |
Namespaces | |
| namespace | line |
| Conservation laws of a layered queueing network, enumerated from its structure. | |
| namespace | line::error_detail |
Functions | |
| bool | line::error_detail::valid_kind (const std::string &s) |
| True when s matches [A-Za-z][A-Za-z0-9_]*, the grammar of a kind. | |
| std::string | line::error_detail::make_id (const char *category, const std::string &kind) |
| LINE:<category>:<kind>, or LINE:internal:BadErrorId for a malformed kind. | |
The exception types the port throws.
Error and its five refinements, one per category of the cross-codebase error vocabulary (_kb/17-error-vocabulary.md): InputError for a malformed model or argument, NumericError for a computation that cannot produce an answer, UnsupportedError for a feature the chosen algorithm does not cover, ExternalError for a missing or failed tool, and InternalError for a bug. Nothing in the library calls exit() or writes to stderr on failure: the CLI catches these at main and the bindings map them to exceptions, so the same code path serves both.
Definition in file error.h.