From 01a4214265a4ef680d7ba80645f45985ea3c5c63 Mon Sep 17 00:00:00 2001 From: PopSlime Date: Sun, 6 Nov 2022 12:11:55 +0800 Subject: [PATCH] Fix exception handling on failure to get operator. --- Assets/Cryville/Common/Pdt/PdtEvaluatorBase.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Assets/Cryville/Common/Pdt/PdtEvaluatorBase.cs b/Assets/Cryville/Common/Pdt/PdtEvaluatorBase.cs index c6f3629..6b277f3 100644 --- a/Assets/Cryville/Common/Pdt/PdtEvaluatorBase.cs +++ b/Assets/Cryville/Common/Pdt/PdtEvaluatorBase.cs @@ -157,7 +157,11 @@ namespace Cryville.Common.Pdt { internal void Operate(PdtOperatorSignature sig) { PdtOperator op; try { op = GetOperator(sig); } - catch (Exception) { _framecount -= sig.ParamCount; return; } + catch (Exception) { + for (int i = 0; i < sig.ParamCount; i++) + DiscardStack(); + throw; + } Operate(op, sig.ParamCount); } ///