Avoid ugly exception in log on unknown inv type
It is unexpected behavior for `ToString` to raise an exception. It is expected to do a best-effort attempt at formatting but never fail. Catch the exception and simply print unknown inv types as hexadecimal. Fixes #9110.
This commit is contained in:
parent
e9847303e7
commit
e9f25ddd00
1 changed files with 5 additions and 1 deletions
|
@ -181,7 +181,11 @@ std::string CInv::GetCommand() const
|
|||
|
||||
std::string CInv::ToString() const
|
||||
{
|
||||
return strprintf("%s %s", GetCommand(), hash.ToString());
|
||||
try {
|
||||
return strprintf("%s %s", GetCommand(), hash.ToString());
|
||||
} catch(const std::out_of_range &) {
|
||||
return strprintf("0x%08x %s", type, hash.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
const std::vector<std::string> &getAllNetMessageTypes()
|
||||
|
|
Loading…
Reference in a new issue