Eng 6344

I'm thinking if we should consolidate the error paths into one. Currently, the `m_errHandler` handles errors and keep track of max error count. Now that `insertRow()` returns a boolean that will terminate the program immediately if it's `false`. This makes it hard to reason about what the max error count does. Maybe it doesn't return anything, but always leaves it to the error handler?