[HowTo] FindFailed handler: General error handling --- 1.1.3 +
*******
Using
FindFailed.
takes care, that every Region created thereafter inherits the setting (handler will be visited on FindFailed)
In Jython/Jruby scripting:
If you want this behaviour for the standard SCREEN object too, you either have to issue a
use()
after the global setting or use
setFindFailedHa
The latter one is the only to use, if you want the behaviour only for the global SCREEN object.
Be aware:
If you do not want your script to abort after returning from the handler, you have to issue
event.setRespon
in the handler before the return.
Depending on what you have done in the handler, one of the other options RETRY or PROMPT might make sense as well.
-------
Let's assume I have a rather lengthy SikuliX script that can basically fail at any point - usually find failed.
Instead of modifying the whole script to catch every possible error, my idea was to use some kind of "supervisor" script instead.
The supervisor calls the script and if anything goes wrong there, the GUI in question is reset to its initial state by the supervisor which then calls the script again.
I got this idea working, but of course every time a find failed occurs in the called script everything comes to a stop.
What I would need is a way to simply exit a script (so the supervisor can take over) every time a find failed occurs. Is this possible?
"setFindFailedR
Setting it to "SKIP" won't do it because if an error occurs, the GUI HAS to be reset to its initial state.
Edit: tried using setFindFailedHa
setFindFailedHa
def resetGUI():
#do stuff
#rest of the script
Still, the script just stops when encountering a FindFailed error instead of calling my resetGUI routine. In addition to that, I still have the problem that I would need to start the script at the beginning, no matter where an error occured.
Edit2: I am running SikuliX version 1.1.2 on Windows10. Yet even putting "setFindFailedR
...apparently, setFindFailedRe
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- SikuliX Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- RaiMan
- Solved:
- Last query:
- Last reply:
This question was reopened
- by alex