senf::DataPacket::createAfter(packet);
BOOST_CHECK_THROW( packet.next().next().next().parseNextAs<BarPacket>(),
senf::InvalidPacketChainException );
+
+ SENF_CHECK_NO_THROW( BarPacket::create(senf::noinit).dump(s));
}
BOOST_AUTO_UNIT_TEST(concretePacket)
prefix_ void senf::PacketInterpreterBase::dump(std::ostream & os)
{
- if (detail::AnnotationIndexerBase::maxAnnotations > 0) {
- os << "Annotations:\n";
- impl().dumpAnnotations(os);
+ try {
+ if (detail::AnnotationIndexerBase::maxAnnotations > 0) {
+ os << "Annotations:\n";
+ impl().dumpAnnotations(os);
+ }
+ v_dump(os);
+ for (ptr i (next()); i; i = i->next())
+ i->v_dump(os);
+ }
+ catch (senf::Exception & e) {
+ os << "[Exception: " << e.message() << "]\n";
}
- v_dump(os);
- for (ptr i (next()); i; i = i->next())
- i->v_dump(os);
}
prefix_ void senf::PacketInterpreterBase::finalizeThis()