32 #ifndef _QORE_RETHROWSTATEMENT_H
34 #define _QORE_RETHROWSTATEMENT_H
36 #include "qore/intern/AbstractStatement.h"
38 class RethrowStatement :
public AbstractStatement {
41 xsink->rethrow(catchGetException());
44 DLLLOCAL
virtual int parseInitImpl(LocalVar *oflag,
int pflag = 0) {
45 if (!(pflag & PF_RETHROW_OK))
46 parseException(*loc,
"RETHROW-NOT-IN-CATCH-BLOCK",
"rethrow statements are only allowed in catch blocks");
51 DLLLOCAL RethrowStatement(
int start_line,
int end_line) : AbstractStatement(start_line, end_line) {
54 DLLLOCAL
virtual ~RethrowStatement() {
57 DLLLOCAL
virtual bool endsBlock()
const {
61 DLLLOCAL
virtual bool hasFinalReturn()
const {