It had nothing to do with Chrome's extension API. The API works perfectly fine. It has to do with the nature of JavaScript where syntax errors are "forgiven" leading to unforgivable bugs that require line by line review unless you use a tool to check your syntax. This was not the first, last, or only syntax caused bug I experienced. It was simply the most frustrating and inexplicable.
Syntax errors in JS throw exceptions.
JS syntax tends to hide certain mistakes but errors always throw.
If Chrome's extension API swallows exceptions, that's not a JS problem.