I don't know if there is already a ready-made solution for this, but in general I still think you should think about wrapping your functions with some sort of try-catch mechanism. So, concretely, if you have code kinda like that:
```{r}
res <- function_that_can_fail()
```
then it is up to you to find a way to wrap it and then report the results. One example that comes to mind that does something similar is testthat, so you can use it for inspiration.