Try/Catch does not generate “exception” variable for BusinessRuleException (Studio 25.10)

Hi everyone,
I’m facing a strange issue in UiPath Studio 25.10 when working with a Try/Catch activity, and I would like to confirm whether this is a bug or expected behavior.

When I add a System.Exception Catch block, Studio automatically creates the catch variable called exception.
However:

  • This variable does not appear in the Variables panel or Data Manager
  • The variable does exist internally and is visible during Debug mode
  • I can technically reference it (e.g., in a Log Message), but it cannot be seen or managed anywhere in the UI

When I add a Catch block for UiPath.Core.BusinessRuleException, the situation is even worse:

  • Studio does not create any catch variable at all
  • The variable is also not added to the Variables panel
  • In Debug mode, no catch variable is available under this block

Example (screenshot attached)
In my simple test:

Try section contains:
New BusinessRuleException(“Test”) in one case, New SystemException(“Test”) in another

Catch 1:
UiPath.Core.BusinessRuleException → body contains a Log Message
→ No variable is created

Catch 2:
System.Exception → body contains a Log Message
→ Variable exception exists internally but is invisible in the Variables Panel
→ This variable exception can’t be renamed or reassigned.

I expected that UiPath automatically creates an argument named exception for every Catch block (like in Studio Version 24.10).

We use UiPath Studio 25.10.4 (Windows project)
UiPath.System.Activities 25.10.5
UiPath.Testing.Activities 25.10.0
UiPath.UIAutomation.Activities 25.10.22

Is this a known issue in 25.10?
Is there a workaround to force Studio to generate the catch variable correctly for BusinessRuleException?

Thanks in advance!

Hi @JenJen

In a Try/Catch activity, only one Catch block is executed depending on the exception type thrown in the Try section. The variable exception that appears in the System.Exception catch is a scoped catch argument, which means:

It is only available inside that specific Catch block

It does not appear in the Variables panel or Data Manager because it is automatically created and managed internally by the activity

During Debug, Studio shows it so you can inspect the exception details

For the UiPath.Core.BusinessRuleException Catch block, Studio does not automatically expose a variable in the UI. However, the catch still works correctly—it’s simply that no default variable is generated or exposed for management.

If you need to store or reuse the exception details, the recommended workaround is to create your own variable inside the Catch block and assign the exception to it, for example:

businessEx = exception

(or create a variable and assign values like exception.Message, exception.StackTrace, etc.)

This way you can log, pass, or reuse the exception information elsewhere in the workflow.

Hope this helps !

Thanks, but my question is not about runtime behavior.

The issue I’m reporting is specifically about the Studio designer behavior:
In a Catch UiPath.Core.BusinessRuleException block, Studio does NOT generate an “exception” variable at all.
In a Catch System.Exception block, Studio does generate an internal “exception” variable

It was possible in Version 24.10.
Creating a local variable doesn’t seem to catch any BRE.

hi, @JenJen

If a variable assigned in the Exception property of the Catch activity does not bind for UiPath.Core.BusinessRuleException, that would not be expected behavior. BusinessRuleException inherits from System.Exception, so the Catch variable should work the same way.

Normally the pattern is:

Catch UiPath.Core.BusinessRuleException
Exception: bre

and then use bre.Message inside the body.

If Studio 25.10 does not generate the variable automatically (as it did in 24.10) and manual binding also fails, this likely points to a Studio designer issue rather than intended behavior. It would be worth checking the activity package version or raising it on the UiPath support for confirmation.