I have been reading Hadley Wickham's Advanced R for a couple of weeks and I have reached the conditions section. In one of the exercises I came across this question and I could not figure out the explanation. I would be grateful if you could explain it to me a little bit:
Q. Explain the results of running this code:
withCallingHandlers( message = function(cnd) message("b"), withCallingHandlers( message = function(cnd) message("a"), message("c") ) ) #> b #> a #> b #> c
I just don't understand what are default and parent handlers and why running
message(c) first triggers the
message(a) . An explanation is much appreciated.