Any library in Robot Framework has two categories of keywords. The keywords to carry out a regular test step (e.g. Click Button) and the keywords that verify certain thing (e.g. Table Column Should Contain). The latter keywords typically have the word "Should" in them.
I assume that Robot Framework only puts PASS or FAIL status for the executed test cases in the report. How can I distinguish the FAIL test cases failed due to test step keywords versus failed due to test verification keywords?
For example, the calculator test case clicks 2, +, 2, = buttons and then verifies answer 4 as part of the last keyword (e.g. Should Be Equal As Numbers). If it fails while failing to click any button then I will consider it as "Failed to carry out its actual verification" (my result processing script will not log a bug here). However, if it fails while actually verifying the result then it is a valid bug associated with the test case (my result processing script can take action accordingly, like logging a bug).
If there are no techniques for generating the result file as per my requirement (PASS, FAIL and maybe FAIL_TO_VERIFY statuses), then I am seeking a technique to process the result or log xml to identify the kind of failure (FAIL vs FAIL_TO_VERIFY) for every FAIL test case.
PS: I have already figured out the bug logging part in my result processing script. So consider it as out of scope for the above question.
Can you please check this keyword Register Keyword To Run On Failure in selenium2library  , this keyword will allow to execute any other keyword when your slenium2library keywords fail. so you can call your bug reporting keyword here
Robot Framework: How to distinguish the test case FAIL due to regular test step keyword failure versus verification test step failure