When an error occurs, you can (and should) always fix it. I do not see why completing knitting is more important, when you have to fix the error sooner or later (why later?). Some people may not take a look at the knit log at all, and will assume everything worked fine. In shell scripts, this will give an exit status 0 (success). Stopping on error also enables us to run `traceback()`.

Currently knitr does give the range of line numbers when an error occurs, e.g.

    Test.
    
    ```{r}
    opts_chunk$set(error = FALSE)
    ```
    
    Foo.
    
    `r 1+'a'`
    
    Bar.