Skip to content

Commit 4e9e7b1

Browse files
committed
Refactor VM operation error handling: improve conditional logic for setting register values and enhance error management
1 parent f1a6f92 commit 4e9e7b1

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

pkg/vm/vm.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,11 @@ loop:
134134
// TODO: Add caching to avoid recompilation
135135
r, err := data.ToRegexp(reg[src2])
136136

137-
if err := vm.setOrTryCatch(dst, r.Match(reg[src1]), err); err != nil {
137+
if err == nil {
138+
reg[dst] = r.Match(reg[src1])
139+
} else if _, catch := vm.tryCatch(vm.pc); catch {
140+
reg[dst] = runtime.False
141+
} else {
138142
return nil, err
139143
}
140144
case OpAllEq, OpAllNe, OpAllGt, OpAllGte, OpAllLt, OpAllLte, OpAllIn:

0 commit comments

Comments
 (0)