{"id":2620,"date":"2017-08-21T15:17:37","date_gmt":"2017-08-21T15:17:37","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/does-nlapiyieldscript-function-reliably-with-try-catch-blocks-in-suitescript-1-0-2\/"},"modified":"2026-07-28T18:25:05","modified_gmt":"2026-07-28T18:25:05","slug":"la-fonction-nlapiyieldscript-fonctionne-t-elle-de-maniere-fiable-avec-les-blocs-try-catch-dans-suitescript-1-0","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/la-fonction-nlapiyieldscript-fonctionne-t-elle-de-maniere-fiable-avec-les-blocs-try-catch-dans-suitescript-1-0\/","title":{"rendered":"La fonction nlapiYieldScript fonctionne-t-elle de mani\u00e8re fiable avec les blocs Try\/Catch dans SuiteScript 1.0 ?"},"content":{"rendered":"","protected":false},"template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","ga_subtitle":"Lorsque vous utilisez nlapiYieldScript dans SuiteScript 1.0, les erreurs survenant au sein des blocs try...catch peuvent emp\u00eacher la replanification correcte du script en raison d'\u00e9checs de s\u00e9rialisation.","ga_short_answer":"Non, la fonction nlapiYieldScript de SuiteScript 1.0 peut ne pas r\u00e9ussir \u00e0 replanifier l'ex\u00e9cution si une erreur est lev\u00e9e au sein d'un bloc try...catch, souvent en raison d'une impossibilit\u00e9 de s\u00e9rialiser l'objet nlobjError. Pour garantir une gestion fiable des erreurs et une ex\u00e9cution diff\u00e9r\u00e9e, il est recommand\u00e9 d\u2019\u00e9viter d\u2019utiliser nlapiYieldScript et de mettre en \u0153uvre des m\u00e9canismes de reprogrammation standard, ou de passer aux scripts Map\/Reduce de SuiteScript 2.x ou au module N\/task.","ga_scenario":"Les d\u00e9veloppeurs utilisant nlapiYieldScript dans des scripts planifi\u00e9s sous SuiteScript 1.0 peuvent rencontrer des probl\u00e8mes lorsqu\u2019ils tentent de g\u00e9rer les erreurs \u00e0 l\u2019aide de blocs try...catch. Plus pr\u00e9cis\u00e9ment, si une erreur est lev\u00e9e pendant l\u2019ex\u00e9cution du script, nlapiYieldScript peut ne pas parvenir \u00e0 replanifier le script, ce qui entra\u00eene l\u2019affichage du message \u00ab ERREUR INATTENDUE : \u00c9chec de la s\u00e9rialisation du script planifi\u00e9 : nlobjError \u00bb. Ce probl\u00e8me survient car le script ne parvient pas \u00e0 s\u00e9rialiser correctement l\u2019objet d\u2019erreur en vue de la replanification.","ga_solution":"Pour rem\u00e9dier au manque de fiabilit\u00e9 de nlapiYieldScript avec les blocs try...catch dans SuiteScript 1.0, notamment en ce qui concerne la s\u00e9rialisation des erreurs lors de la reprogrammation, la solution recommand\u00e9e consiste \u00e0 \u00e9viter d\u2019utiliser nlapiYieldScript. Les d\u00e9veloppeurs doivent plut\u00f4t mettre en \u0153uvre les pratiques standard de reprogrammation des scripts.Pour SuiteScript 1.0, cela signifie :\n1. V\u00e9rifiez manuellement l\u2019utilisation de la gouvernance des scripts.\n2. Si les limites de gouvernance sont proches d\u2019\u00eatre atteintes, replanifiez explicitement le script \u00e0 l\u2019aide de nlapiScheduleScript afin de garantir une ex\u00e9cution correcte sans vous appuyer sur le m\u00e9canisme de cession de nlapiYieldScript, qui peut poser des probl\u00e8mes en cas d\u2019erreurs.Pour le d\u00e9veloppement NetSuite actuel, il est vivement recommand\u00e9 de passer \u00e0 SuiteScript 2.x, qui offre des m\u00e9thodes plus robustes et plus fiables pour la gestion des grands ensembles de donn\u00e9es et la cession de scripts :1.  **Type de script Map\/Reduce** : Ce type de script est sp\u00e9cialement con\u00e7u pour traiter de grands volumes de donn\u00e9es, en g\u00e9rant automatiquement la cession et la replanification \u00e0 chaque \u00e9tape distincte. 2.  **Module N\/task** : Pour un contr\u00f4le plus fin de l\u2019ex\u00e9cution et de la replanification des scripts, le module N\/task fournit des fonctions permettant de cr\u00e9er et de soumettre des t\u00e2ches de script planifi\u00e9es, ce qui offre un contr\u00f4le explicite sur la poursuite de l\u2019ex\u00e9cution du script et la gestion des erreurs.Ces approches de SuiteScript 2.x offrent un environnement plus stable pour la gestion des erreurs gr\u00e2ce aux blocs try...catch, att\u00e9nuant ainsi les probl\u00e8mes de s\u00e9rialisation associ\u00e9s \u00e0 nlapiYieldScript.","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T17:17:37+02:00","ga_date_verified":"2026-07-05","ga_source_subject":"Does nlapiYieldScript work with try catch","ga_ans_id":"ANS-0881","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The function `nlapiYieldScript` is a SuiteScript 1.0 API and is not directly available in SuiteScript 2.x, which is the current recommended version for NetSuite development.; The recommended solution for handling large datasets and yielding in SuiteScript 2.x is the Map\/Reduce script type or explicit rescheduling using the `N\/task` module, which represents a different approach than simply 'reschedule normally' in the context of `nlapiYieldScript`.; While `try...catch` blocks are still fundamental for error handling, the specific interaction of `nlapiYieldScript` with `try\/catch\/finally` (where catches are ignored on a successful yield) is a nuance specific to SuiteScript 1.0 and `nlapiYieldScript`.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-2620","qa_entry","type-qa_entry","status-publish","hentry","ga_category-developpement-suitescript","ga_category-suitescript-development","ga_audience-developer-suitescript","ga_difficulty-niveau-intermediaire"],"taxonomy_info":{"ga_category":[{"value":108,"label":"D\u00e9veloppement SuiteScript"},{"value":23,"label":"SuiteScript Development"},{"value":108,"label":"D\u00e9veloppement SuiteScript"}],"ga_audience":[{"value":10,"label":"Developer\/SuiteScript"}],"ga_difficulty":[{"value":92,"label":"Niveau interm\u00e9diaire"}]},"featured_image_src_large":[],"author_info":[],"comment_info":"","_links":{"self":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry"}],"about":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/types\/qa_entry"}],"version-history":[{"count":1,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2620\/revisions"}],"predecessor-version":[{"id":4540,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2620\/revisions\/4540"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=2620"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=2620"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=2620"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=2620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}