Apologies if it was unclear. With “thrown intentionally” I am referring to exceptions that I have decided to throw by using the “throw” activity.
I use this activity when there is a known business or application error. For example if the current item does not meet the rules set by the SME we will throw it as a business exception.
Step by step example
Login to application
- Required fields: Name, Address, Age
- Click “submit”
Now let’s say that since “name” is a required field I check my queue item and find that the name field is empty. I then proceed to throw the item as a business exception with something like: “Name is needed to create customer”.
If I have 30 items in my queue and I decide to run it in debug mode to check that everything runs smoothly I would not want the process to stop every time it encounters a “throw” exception. I want it to stop if an actual error occurs. For example on a selector issue or an unknown application error.
This is not a huge issue in any way it’s just that when you get an error while debugging and you click “continue” it doesn’t run from there but instead you need to click “continue” several times to get it moving again. I believe this happens because the error is thrown for each layer until it reaches a try catch or becomes fatal.
I could of course just “run” the process but then it would not freeze the process when the error occurs but instead keep running until the process is finished.
I have included an XML to illustrate the issue. I created nested sequences to simulate invoked workflows and if you run it in debug you will see that you need to click “continue” for each layer. If you then imagine that you are running 30-40 items and you expect to have a couple of know exceptions it’s just a bit annoying It would be nice to be able to either click continue once or skip stopping the process on errors that I know will be encountered during the run.
I know this is not the biggest of issues it was just a thought Thanks for reading.
NestedError.xaml (6.1 KB)