diff --git a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/AST/TTCN3/statements/TryCatch_Statement.java b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/AST/TTCN3/statements/TryCatch_Statement.java index 74f20288d9e6a336a1b6f3f5b75a1aca65cc4071..1af4083fdbea4c09ea1a30f739cf3a3171afc464 100644 --- a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/AST/TTCN3/statements/TryCatch_Statement.java +++ b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/AST/TTCN3/statements/TryCatch_Statement.java @@ -20,6 +20,7 @@ import org.eclipse.titan.designer.AST.TTCN3.definitions.Def_Var; import org.eclipse.titan.designer.AST.TTCN3.definitions.Definition; import org.eclipse.titan.designer.AST.TTCN3.statements.StatementBlock.ReturnStatus_type; import org.eclipse.titan.designer.AST.TTCN3.types.CharString_Type; +import org.eclipse.titan.designer.compiler.JavaGenData; import org.eclipse.titan.designer.parsers.CompilationTimeStamp; import org.eclipse.titan.designer.parsers.ttcn3parser.ReParseException; import org.eclipse.titan.designer.parsers.ttcn3parser.TTCN3ReparseUpdater; @@ -215,4 +216,20 @@ public class TryCatch_Statement extends Statement { } return true; } + + @Override + /** {@inheritDoc} */ + public void generateCode( final JavaGenData aData, final StringBuilder source ) { + source.append("try {\n"); + tryBlock.generateCode(aData, source); + source.append("}\n"); + source.append("catch( TtcnError ttcn_error"); + source.append(" ) {\n"); + catchSurroundingBlock.generateCode(aData, source); + source.append(exceptionIdentifier.getName()); + source.append(" = "); + source.append("new TitanCharString(ttcn_error.toString());\n"); + catchBlock.generateCode(aData, source); + source.append("}\n"); + } }