Run Keyword and Ignore Error doesn't handle logging w/ --exitonerror
Looks like Run keyword and ignore error does not shield from the ERROR log messages, and tests still fail with --exitonerror flag on. Shouldn't it ignore the logs too?
Repro code:
# kw.py
import logging
def mykw(msg):
logging.error(msg)
*** Settings ***
Library kw.py
*** Test Case ***
Test
Run Keyword and ignore error mykw error msg
Test2
Log to Console This should not fail
Run with: robot --exitonerror test.robot
Log:

Run Keyword And Ignore Error catches failures caused by keywords but doesn't do anything to error messages. The --exitonerror option was actually introduced to make failed library imports etc. visible and back then explicitly logging error messages wasn't even supported. Execution stopping in this case is thus not even a planned feature.
I guess Run Keyword And Ignore Error could be enhanced to silence also WARN and ERROR messages, but I'm slightly worried could that in some cases also hide real problems. Since you need to explicitly use that keyword I guess that's ok. Anyway, I don't consider this too high priority.
The biggest problem I see here is that the keyword has "Error" in its name when we generally use "Failure" when talking about failing keywords. Keyword named like this not handling error messages is certainly somewhat strange. I doubt renaming the keyword is a good idea, especially when the plan is to sometime in the future add native TRY/EXCEPT functionality.
With the TRY/EXCEPT functionality in RF 6.1.1, when an error is caught, it seems that the calling Test/Task is still treated as failed: