summaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/error/unittests
Commit message (Collapse)AuthorAgeFilesLines
* Use implicit bool conversion for null check in origin_attributes.cppbabenko2026-04-271-1/+1
| | | | commit_hash:cc1f5b9ecc05f6b098f1645ba338fc644c0bb53f
* Add TErrorOr::ValueOrCrashdann2392026-04-031-0/+42
| | | | commit_hash:7a04b71703a53450dbaa8ec880141545e019a71e
* Intermediate changesrobot-piglet2026-03-031-1/+1
| | | | commit_hash:a66d1ef65085fb8e8bfe860b8b7a95cbc5793851
* TErrorOr: propagate constuctible traitswarmer2025-12-241-0/+218
| | | | | | Constructors are now conditionally enabled based on whether T is copy- or move-constructible. This allows constructibility to be checked, instead of causing compilation errors during template instantiation. commit_hash:e31da137034705c5c73cd700d9476e96320f2f70
* YT: Do not merge OK errors to inner errorsdgolear2025-12-171-2/+12
| | | | commit_hash:7204f6d279e6660168d497e5fc43a8fd6a21acaa
* Intermediate changesrobot-piglet2025-12-161-5/+4
| | | | commit_hash:01073d5debabb2b7da51639f6d5137155132d193
* YT: Fix enricher, add from backtrace enricherpechatnov2025-05-061-0/+55
| | | | | From backtrace enricher можно использовать для захвата бектрейсов при создании ошибок из исключений, а так же для перекладывания атрибутов из сложных исключений других библиотек. commit_hash:76711bd3bb7dbc1e41e43f80d43340d2ce8e4df7
* YT: Add type name of std::exception to error text in TError constructorpechatnov2025-04-011-0/+16
| | | | | | | | | | | | | | | | | | | Без этого, исключение о выходе за пределы массива в векторе выглядит так: ``` vector origin (pid 178121, thread library-cpp-yt-) datetime 2025-03-31T14:59:49.069209Z ``` С фиксом: ``` vector origin (pid 178121, thread library-cpp-yt-) datetime 2025-03-31T14:59:49.069209Z exception_type std::out_of_range ``` commit_hash:7382eba16208f6847d581b901a7df4dfa39452b0
* YT-22593: More trivial TString->std::string migrationsbabenko2025-02-222-21/+21
| | | | | [nodiff:runtime] commit_hash:1ba799aed1703ab7c6304b6da7090b3337f768dd
* YT-21233: Adjust (To/From)ErrorAttributeValue CPOs, revert ConvertTo ↵arkady-e1ppa2024-12-253-0/+942
becoming CPO, move TErrorCode and TError to library/cpp/yt/error \[nodiff:caesar\] List of changes: 1) Make `ConvertTo` a normal function again (basically, a revert of previous change). It turned out to be very inconvenient entry point 2) Introduce concept for "Primitive types" which are handled without yt/core module. Please note that inclusion of core **does not** affect work with primitive types (otherwise we would be facing and ODR violation). These are numerics, duration, instant, string-like objects and guid 3) Introduce `FromErrorAttributeValue` which is a substitute to `ConvertTo` with special behavior (see below) 4) Scheme for (de-)serialization has changed: 1) Primitive types are handled via `ConvertToTextYsonString` and `ConvertFromTextYsonString` 2) Other types are not supported without yt/core. Otherwise `ConvertToYsonString(value, EYsonFormat::Text)` used for serialization and `ConvertTo<T>(value)` for deserialization. 5) New format of attribute value storage allows to not care about concrete type of the attribute (text yson strings can be detected since they start with `\"` and deserialized so are text yson bools, everything else is already human readable). This drops dependency on `TTokenizer` 6) Some small parts (e.g. enums or constants or aliases) of yt/core/misc files were moved to library/cpp/yt/\* locations and re-included to drop dependencies of stripped\_error on them 7) `TErrorAttributes` is now a simple hash map instead of a handle to `IAttributeDictionary` 8) `ExtractFromAttributes` weak symbol is finally moved to library/cpp/yt/error due to point 9 allowing to fully drop dependency on `IAttributeDictionary`. Combined with point 7 this drops dep on yt/core/ytree altogether 9) Moved `TErrorCode` to library/cpp/yt/error. There is a logger there which forces dep on library/cpp/yt/logging. It is not required really, and can be later removed 10) Moved `TError` with format and macroes to library/cpp/yt/error. It still (and probably forever will) depend on yson. What can be done next: Switch TYsonString to TString and move ConvertTo/FromTextYsonString to library/cpp/yt/error. This would remove dep on library/cpp/yt/yson\_string commit_hash:6f11dc478ab782a1f98a5aedcd45a4800d3f4e7b