3

I've got a "unhandled fault" in one of my flows. I tried using the debug logs, but they're very small, nearly empty.

What's a good way to figure out what is causing the issue?

  • Normally you get an email when an exception occurs. The log in the email should give you a clue on what happened. – PepeFloyd Apr 1 '13 at 13:10
2

Assuming that you don't have a clue where the error is occurring in your flow, you can fall back on binary search for debugging. Basically, stop the process half way through and see if the error happens. If it doesn't you know it's in the second half of the process, if it still fails, you know the error is in the first half. Repeat until you've narrowed it down to a particular step/line of code. At this point you should hopefully be able to make some more educated guesses as to what the issue is.

If you already have a step where the error is occurred you'll probably want to post that in your question ;)

2

I keep debug screens in between each screen, lookup, etc in a flow. You can keep them disconnected for normal running of the flow and then connect them all when you need to debug and find the flow element where your error occurs. Add whatever fields you need to your debug screen in order to help you find an error.

The debug logs will not be much help unless you have an apex plug-in in your flow or triggers running on create/update elements in the flow.

If all else fails, open a case with support. In my experience, there are a lot more bugs in visual workflow than in the rest of Salesforce. Your error could be a known issue and not a bug in your workflow. By using debug screens to find the exact place your flow is failing, you will be able to build a simple use case that can be tested by Salesforce support.

1

These "unhandled fault" errors almost always occur as the result of a DML action. What you can do is create a screen that displays an error message, something like this:

Flow Messsge: {!$Flow.FaultMessage}

From your DML connector, create a second connection to the new screen, it should be tagged with "Fault".

Then, rerun your test, and you should see the error that is occurring, things like missing required field, etc.

1

Apex invocable methods have given us new options on this question,so I'm revisiting it.

See the Debug class here. https://github.com/mshanemc/processBuilderBlocks

Note that this is applicable for both flows and process builder.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.