Study guide
3.3 Consecutive System Exceptions & Graceful Process Termination
UiPath Automation Developer Professional UiPath-ADPv1
Track your progress as you read
Finished sections get a check mark.
1 Chapter 1: Exam Overview & Blueprint Map
1.1 About the UiPath-ADPv1 Exam: Format, Fees & Policies 1.2 The Exam Topics Mapped to This Guide & a Study Plan
2 Chapter 2: REFramework Architecture & State Dynamics
2.1 State Machine Architecture & The Four Core States 2.2 Configuration Management: Settings, Constants, and Assets 2.3 Transaction Types & The Dispatcher vs. Performer Architecture 2.4 Adapting REFramework: Tabular Data, Collections & Linear Processes
3 Chapter 3: REFramework Exception Handling & Recovery
3.1 BusinessRuleException vs. System.Exception Handling Patterns 3.2 Retry Mechanisms: Queue Retries vs. REFramework MaxRetryNumber 3.3 Consecutive System Exceptions & Graceful Process Termination
4 Chapter 4: State Machines, Custom Log Fields & REFramework Testing
4.1 Building State Machine Projects in Studio 4.2 Logging Levels, Robot Logs & Custom Log Fields in REFramework 4.3 Testing a REFramework Project With and Without Orchestrator Queues
5 Chapter 5: LINQ Queries & DataTable Operations
5.1 LINQ Essentials for Collections & Filtering 5.2 Advanced DataTable Querying with LINQ 5.3 In-Memory DataTable Transformations & Column Operations
6 Chapter 6: Regex, DateTime, JSON & Invoke Activities
6.1 Regular Expressions & Text Parsing for Automation 6.2 DateTime Formatting, Timezone Conversions & TimeSpan Calculations 6.3 JSON Parsing, JSONPath & Serialization with Newtonsoft.Json 6.4 Invoke Method & Invoke Code Activities 6.5 Data Referencing in Invokes: DataTable, List & Dictionary Arguments
7 Chapter 7: Modern UI Automation & Unified Targeting
7.1 Modern Design Experience & The Unified Target Concept 7.2 Anchors, Relative Elements & UI Automation Activities 7.3 Dynamic Selectors, Variables & Wildcards in Selectors
8 Chapter 8: Object Repository, Computer Vision & Remote Runtime
8.1 Object Repository & UI Descriptor Libraries 8.2 AI Computer Vision for Unattended & Remote Interfaces 8.3 Automation in Virtual Environments & UiPath Remote Runtime
9 Chapter 9: Advanced UI Automation: Browser Modes, Agentic UI & macOS
9.1 Browser Automation with the WebDriver Protocol 9.2 Agentic UI Automation: ScreenPlay, Semantic Activities & Healing Agent 9.3 macOS Automation: Native Apps, Office Apps & AppleScript
10 Chapter 10: Advanced Control Flow & Exception Architecture
10.1 Flowcharts, Sequences & Parallel Control Flow Patterns 10.2 Global Exception Handler Architecture & ErrorAction Directives 10.3 TryCatch, Retry Scope & Custom Exception Architectures
11 Chapter 11: Orchestrator Queues & Transaction Management
11.1 Queue Architecture, SpecificContent & Transaction Lifecycles 11.2 Queue Items SLA, Postpone, Deadlines & Priority Scheduling 11.3 Bulk Operations, Transaction Status Updates & Queue Triggers
12 Chapter 12: Orchestrator Tenant & Folder Entities
12.1 Asset Types, Per-Robot Assets & External Credential Stores 12.2 Modern Folder Hierarchy, User/Robot Assignment & Permissions 12.3 Storage Buckets, Webhooks & Environment Promotion 12.4 Orchestrator Tags: Labels, Properties & Governance
13 Chapter 13: Unattended Execution, API Triggers & Cloud Robots
13.1 Unattended Job Execution: Folders, Priorities, Background vs. Foreground & Runtimes 13.2 API Triggers: Starting Jobs from External Systems over HTTP 13.3 Serverless and Cloud VM Robots: Cloud-Hosted Execution Options
14 Chapter 14: Monitoring, Recording & Solutions Management
14.1 Orchestrator Monitoring, Trigger Alerts & Job Health 14.2 Job and Transaction Recording: Troubleshooting Faulted Unattended Jobs 14.3 Solutions Management: Packaging and Deploying Automations with Their Resources
15 Chapter 15: Debugging, Remote Debugging & Profiling
15.1 Studio Debugging Tools: Breakpoints, Panels & Execution Control 15.2 Remote Debugging: Remote Machine and Unattended Robot Connections 15.3 Profile Execution: Finding Performance Bottlenecks in Studio
16 Chapter 16: RPA Testing & Test Suite
16.1 UiPath Test Suite Overview, Test Cases & Given-When-Then Structure 16.2 Data-Driven Testing, Test Verification Activities & Mock Activities 16.3 CI/CD Pipelines with uipcli & Test Manager Traceability
17 Chapter 17: Long-Running Workflows, Action Center & Apps
17.1 Long-Running Workflows: Persistence, Suspend and Resume 17.2 Action Center & Human-in-the-Loop Orchestration 17.3 UiPath Apps: Action Apps, Automations & Integration Service
18 Chapter 18: Trigger-Based Attended Automation & Callouts
18.1 Trigger-Based Attended Automation: Forms, Triggers & Global Variables 18.2 Running Local Triggers & the Event Inspection Tool 18.3 Callouts & Forms for Attended Guidance
19 Chapter 19: UiPath Assistant & Robot Sessions
19.1 UiPath Assistant: Automations, Reminders, Widgets & Configuration 19.2 Robot Session (Picture in Picture): Child Session vs. Virtual Desktop
20 Chapter 20: Autopilot for Developers & Autopilot for Everyone
20.1 Autopilot for Developers: AI Assistance in Studio and Studio Web 20.2 Autopilot for Everyone: Chat, Automations & Clipboard AI
21 Chapter 21: API Automation & Integration Service
21.1 Integration Service: Connectors, Connections & Connector Activities 21.2 API Workflows in Studio Web 21.3 HTTP Requests: Web APIs, the Orchestrator API & Connector Requests 21.4 Connector Builder: Custom Integration Service Connectors 21.5 Integration Service Event Triggers: Connected and Disconnected 21.6 GenAI Activities: Generative AI Inside Workflows
22 Chapter 22: Data Service, Context Grounding & Coded Workflows
22.1 Data Fabric (Data Service) Entities: Modeling Business Data 22.2 Data Fabric Activities and the Platform Connector 22.3 Context Grounding: Retrieval-Augmented Generation with Company Data 22.4 Coded Automations: Structure, Arguments & Invoking Workflows 22.5 Coded Automation Services: Orchestrator, UI Automation, Microsoft 365 & Custom Services
23 Chapter 23: Integrated Scenario Practice
23.1 Integrated Scenario Practice: Designing an End-to-End Solution
3.3 Consecutive System Exceptions & Graceful Process Termination
Key Takeaways Explain This Topic AI
MaxConsecutiveSystemExceptions on the Constants sheet stops a job after that many System Exceptions in a row; the template value 0 disables it.
The counter rises on every System Exception and resets to 0 on success and on a business exception, because a business exception proves the applications work.
The check runs at the start of Initialization: it throws, Initialization's catch sets SystemException, and the state machine goes to End Process.
With ShouldMarkJobAsFaulted = False (template value) the stopped job still shows Successful; set it to True to make the stop visible as Faulted.
Stopping early leaves unattempted queue items in New status, so recovery after an outage needs no re-upload.
Last updated: September 2026
3.3 Consecutive System Exceptions & Graceful Process Termination
Core Concept: Retries handle a single glitch. They do not protect you when a whole application is down. REFramework adds a circuit breaker, the MaxConsecutiveSystemExceptions constant, that stops the job after a run of System Exceptions in a row. The remaining queue items then stay New until the outage is fixed.
Picture a performer that starts at midnight with 5,000 queue items. At 01:00 the ERP it logs into goes offline. Without a limit, the robot takes item 1, fails, closes and reopens the applications, fails again when the retry copy arrives, and keeps doing this for every item. By morning the whole queue is Failed, every retry has been used up, and someone has to re-upload thousands of items.
The Two Pieces: A Constant and a Counter
Element Where it lives Behavior
MaxConsecutiveSystemExceptions Constants sheet of Config.xlsx Template value 0 , which disables the check. Set it to a small number, such as 3 to 5, for production performers.
ConsecutiveSystemExceptions Variable in Main.xaml , passed to SetTransactionStatus.xaml as an In/Out argument Incremented by 1 on every System Exception; reset to 0 on a successful transaction and on a business exception .
Why a business exception resets the streak
To raise a business rule exception, the robot has to reach the application, log in, open the record, and read its data. A business exception is therefore proof that the environment works, even though that particular record is invalid. So the streak of technical failures is broken and the counter goes back to 0. Exam questions like to mix the two exception types to test this.
Where the Check Happens: Initialization, Not Process Transaction
The standard template does not add an extra transition out of Process Transaction. The flow is:
A transaction throws a System Exception. SetTransactionStatus.xaml sets the status, takes a screenshot, closes the applications, and increments the counter.
The System Exception transition routes back to Initialization as usual.
At the start of Initialization, inside the Try block, the template checks: CInt(Config("MaxConsecutiveSystemExceptions")) > 0 AndAlso
ConsecutiveSystemExceptions >= CInt(Config("MaxConsecutiveSystemExceptions"))
If the condition is true, it throws an exception whose message comes from ExceptionMessage_ConsecutiveErrors .
Initialization's own Catch stores that exception in SystemException , so the System Exception transition from Initialization sends the state machine to End Process .
End Process closes (or kills) the applications and the job ends.
Loading diagram...
Successful or Faulted? The ShouldMarkJobAsFaulted Constant
Because the framework catches the exception itself, the job normally ends with the Orchestrator status Successful , even though it stopped early. The Constants sheet includes ShouldMarkJobAsFaulted (template value False ). When it is True , End Process rethrows the Initialization exception, so the job ends as Faulted . That matters for operations teams, because Orchestrator alerts and many monitoring rules react to faulted jobs, not to warnings buried in logs.
Outage Example with a Limit of 3
- Dimension No limit ( 0 ) MaxConsecutiveSystemExceptions = 3
- Items attempted during a 4-hour ERP outage Every item in the queue 3 items, then the job stops
- Items left New None All unattempted items
- Retry copies used All of them Only for the 3 failed items
Job status Successful, with thousands of failures in the logs Successful, or Faulted if ShouldMarkJobAsFaulted = True
Recovery work Re-add or retry thousands of items Fix the outage; the next job continues from the queue
A queue trigger can start a new job while New items remain, so a stopped performer may be started again later automatically. That is usually the behavior you want once the system is back. If the outage lasts longer, the new job will stop after three failures again rather than burning the queue.
Retries Versus the Circuit Breaker
Question Queue Auto Retry or MaxRetryNumber MaxConsecutiveSystemExceptions
What does it protect against? A single item failing because of a short glitch A whole application or network being down
- What does it count? Attempts for one item System Exceptions in a row across items
- What happens when it trips? The item ends as Failed The job stops through End Process
- Template value Queue setting; MaxRetryNumber = 0 0 (disabled)
- Design Tips
Pick the limit from how the application fails. Three in a row is common when each item touches the same system. Items that each hit a different external site may need a higher limit or none.
Log the counter value when it trips, and consider ShouldMarkJobAsFaulted = True so the stop is visible in Orchestrator.
Do not reset the counter in Process.xaml or in custom retry logic. Resetting it defeats the circuit breaker.