15-04-23 09:01 AM
15-04-23 11:28 AM
I would go with - "The current configuration is missing an exception block" as the question says that the intention is to preserve the exception and when a re-throw exception is kept to preserve the exception, the resume stage although would kill the exception but the message will be preserved(as performed and found in Blueprism current version 6.10.5). Only the global recover should have no blocking around it and should end gracefully without a re-throw attached to it in the last to avoid infinite looping and this above flow doesn't seem to have block around it - this re-throwed error will be again caught in the recover stage and will end up in infinite loop as I tried and tested.
"The current configuration is missing an exception block" seems to be the wise choice, I have eliminated my choice to use a calculation stage to store the exception from ExceptionType(), ExceptionDetail() and ExceptionStage() as it purposely says the intention is to preserve the exception by a re-throw which I am guessing might be used for a global recover but above recover should be under block.
------------------------------
Kindly up vote this as "Best Answer" if it adds value or resolves your query in anyway possible, happy to help.
Regards,
Mukesh Kumar - Senior Automation Developer
NHS, England, United Kingdom, GB
------------------------------
15-04-23 11:31 AM
Also, I would advise to replicate these flow and test it for your own knowledge, preparation on how these flow behaves with different scenarios. Just knowing the correct answer wont do any good without actually knowing "Why".
------------------------------
Kindly up vote this as "Best Answer" if it adds value or resolves your query in anyway possible, happy to help.
Regards,
Mukesh Kumar - Senior Automation Developer
NHS, England, United Kingdom, GB
------------------------------
15-04-23 12:18 PM
I would go with - "The current configuration is missing an exception block" as the question says that the intention is to preserve the exception...
Blue Prism Product
Post New Message Online
Re: Which Option Would be correct ?
Reply to Group Online Reply to Group
Apr 15, 2023 11:28 AM Mukesh Kumar
I would go with - "The current configuration is missing an exception block" as the question says that the intention is to preserve the exception and when a re-throw exception is kept to preserve the exception the resume stage although would kill the exception but the message will be preserved. Only the global recover should have no blocking around it and should end gracefully without a re-throw attached to it in the last to avoid infinite looping and this above flow doesn't seem to have block around it - this new error will be again caught in the recover stage and will end up in infinite loop.
"The current configuration is missing an exception block" seems to be the wise choice, I have eliminated my choice to use a calculation stage to store the exception from ExceptionType(), ExceptionDetail() and ExceptionStage() as it purposely says the intention is to preserve the exception by a re-throw which I am guessing might be used for a global recover but above recover should be under block.
------------------------------
Kindly up vote this as "Best Answer" if it adds value or resolves your query in anyway possible, happy to help.
Regards,
Mukesh Kumar - Senior Automation Developer
NHS, England, United Kingdom, GB
------------------------------
Reply to Group Online Reply to Group via Email View Thread Recommend Flag as Inappropriate
17-04-23 03:47 PM
Hi @dilshad_khanI'll go with you as Option A reason being that, according to the best practice there should be a global catch on the main page that catches all the unhandled exceptions that bubbles up to main page and following the Recover (in between we can have a notification logic that send Alerts/Emails/Notifications) a Re-Throw is present in order terminate the process gracefully.
But here as we can see a resume stage is present it ends up in infinite loop as the ExceptionType(), ExceptionDetail() and ExceptionStage() are nullified by that resume stage and when Re-Throw is used that creates a new exception all together since, ExceptionType(), ExceptionDetail() and ExceptionStage() will not have any values to throw. Option A describes all these inclusively and hence I feel Option A as the best choice.
------------------------------
Babjee Vangipurapu
Senior RPA Developer
Wonderbotz
India
------------------------------
17-04-23 08:48 PM
Hi,
Option 1 is correct as if you want to rethrow and use the checkbox Preserve the current exception after Resume stage there is no current exception.
regards
Zdenek
18-04-23 05:45 AM
Hi,
Good Day !
The answer might be correct, but if i am putting the exception block the it is running well and throwing the exception on exception stage
18-04-23 06:24 AM
Hi dilshad,
In my opinion statement wise both option A and b are correct but based on the question I will go for option A.
18-04-23 07:57 AM
Hi, Dilshad,
on a main page you can have recover stage without any Exception Block as you want to catch all possible exceptions and then terminate the process (for example in case the applications could not have been launched). So the option 2 is not correct one even though it may seem so.
Regards
Zdenek
18-04-23 08:46 AM
Hi @dilshad_khan - Option 1 can not be the right answer (as performed in Blueprism 6.10.5/7)- Resume should have diffused the error but it isnt doing it currently with checked preserve 🙂 If you read it correctly - it says that the intention of the rethrow is to preserve the exception details(which indirectly means the checkbox for preserving the exception details is ticked) - Just try doing it yourself -no matter although resume kills the exception, if the checkbox is ticked the exception details of current exception are always available when re throwing in the current blueprism version.
------------------------------
Kindly up vote this as "Best Answer" if it adds value or resolves your query in anyway possible, happy to help.
Regards,
Mukesh Kumar - Senior Automation Developer
NHS, England, United Kingdom, GB
------------------------------