diff
7   JERRY_ASSERT (func_obj_p != NULL && !ecma_is_lexical_environment (func_obj_p));
+  if (func_obj_p == NULL) {
+      return ECMA_VALUE_NULL_POINTER_ERROR; // Custom error code for NULL pointer
+  }
+  if (ecma_is_lexical_environment (func_obj_p)) {
+      return ECMA_VALUE_INVALID_TYPE_ERROR; // Custom error code for invalid type
+  }
