diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/MapTransformValuesFunction.java b/core/trino-main/src/main/java/io/trino/operator/scalar/MapTransformValuesFunction.java
index f64852eb05cc..1c1326d7106e 100644
--- a/core/trino-main/src/main/java/io/trino/operator/scalar/MapTransformValuesFunction.java
+++ b/core/trino-main/src/main/java/io/trino/operator/scalar/MapTransformValuesFunction.java
@@ -233,14 +233,16 @@ private static MethodHandle generateTransform(Type keyType, Type valueType, Type
"Close builder before throwing to avoid subsequent calls finding it in an inconsistent state if we are in a TRY() call.",
transformedValueElement.set(function.invoke("apply", Object.class, keyElement.cast(Object.class), valueElement.cast(Object.class))
.cast(transformedValueJavaType)),
- new BytecodeBlock()
- .append(mapBlockBuilder.invoke("closeEntry", BlockBuilder.class).pop())
- .append(pageBuilder.invoke("declarePosition", void.class))
- .putVariable(transformationException)
- .append(invokeStatic(Throwables.class, "throwIfUnchecked", void.class, transformationException))
- .append(newInstance(RuntimeException.class, transformationException))
- .throwObject(),
- type(Throwable.class)))
+ ImmutableList.of(
+ new TryCatch.CatchBlock(
+ new BytecodeBlock()
+ .append(mapBlockBuilder.invoke("closeEntry", BlockBuilder.class).pop())
+ .append(pageBuilder.invoke("declarePosition", void.class))
+ .putVariable(transformationException)
+ .append(invokeStatic(Throwables.class, "throwIfUnchecked", void.class, transformationException))
+ .append(newInstance(RuntimeException.class, transformationException))
+ .throwObject(),
+ ImmutableList.of(type(Throwable.class))))))
.append(keySqlType.invoke("appendTo", void.class, block, position, blockBuilder))
.append(writeTransformedValueElement)));
diff --git a/pom.xml b/pom.xml
index 526607fbf8fb..bff43d621961 100644
--- a/pom.xml
+++ b/pom.xml
@@ -684,7 +684,7 @@
io.airlift
bytecode
- 1.2
+ 1.4
@@ -1558,7 +1558,7 @@
org.ow2.asm
asm
- 9.1
+ 9.2