%description: Tests that errors in handleMessage() are properly caught and displayed in Cmdenv, and finish() doesn't get called. %module: {Module} #include class {Module} : public cSimpleModule { Module_Class_Members({Module},cSimpleModule,0) virtual void initialize(); virtual void handleMessage(cMessage *msg); virtual void finish(); }; Define_Module({Module}); void {Module}::initialize() { scheduleAt(1.0, new cMessage("msg")); } void {Module}::handleMessage(cMessage *msg) { throw new cException("test exception"); } void {Module}::finish() { ev << "finish called\n"; } %exitcode: 1 %contains-regex: stdout Error in module .*: test exception %not-contains: stdout finish called