{"id":111,"date":"2010-04-24T18:15:34","date_gmt":"2010-04-24T16:15:34","guid":{"rendered":"http:\/\/www.tapper-ware.net\/blog\/?p=111"},"modified":"2010-04-24T18:15:34","modified_gmt":"2010-04-24T16:15:34","slug":"chromium-team-please-provide-usable-error-messages","status":"publish","type":"post","link":"https:\/\/www.tapper-ware.net\/blog\/chromium-team-please-provide-usable-error-messages\/","title":{"rendered":"@Chromium Team: please provide usable error messages"},"content":{"rendered":"<p>Reorganizing a project I rewrote a part that previously included a source file via a script file to include it via XMLHttpRequest and BOOM, my code suddenly imploded on Chrome during local testing.<\/p>\n<p>What&#8217;s so bad about it is that it imploded with a cryptic error message &#8220;XMLHttpRequest Exception 101&#8221; which means a  NETWORK_ERR has occured(a fairly broad error state that basically covers everything that has to do with loading).<\/p>\n<p>I figured that this could be a security restriction and was able to find the appropriate <a href=\"http:\/\/code.google.com\/p\/chromium\/issues\/detail?id=37586\">bug #37586<\/a>, but really: you don&#8217;t want to have your developers jumping through such hoops just to find out what an error message means. A simple error description such as &#8220;Security Error: Document may not request data from file:\/\/ protocol&#8221; would have spared me and probably a lot of other people a lot of searching.<\/p>\n<p>In case you&#8217;ve encountered the same issue: The solution is to disable file:\/\/ protocol restrictions with the &#8211;allow-file-access-from-files command line switch.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Reorganizing a project I rewrote a part that previously included a source file via a script file to include it via XMLHttpRequest and BOOM, my code suddenly imploded on Chrome during local testing. What&#8217;s so bad about it is that it imploded with a cryptic error message &#8220;XMLHttpRequest Exception 101&#8221; which means a NETWORK_ERR has &hellip; <a href=\"https:\/\/www.tapper-ware.net\/blog\/chromium-team-please-provide-usable-error-messages\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">@Chromium Team: please provide usable error messages<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.tapper-ware.net\/blog\/wp-json\/wp\/v2\/posts\/111"}],"collection":[{"href":"https:\/\/www.tapper-ware.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tapper-ware.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tapper-ware.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tapper-ware.net\/blog\/wp-json\/wp\/v2\/comments?post=111"}],"version-history":[{"count":0,"href":"https:\/\/www.tapper-ware.net\/blog\/wp-json\/wp\/v2\/posts\/111\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tapper-ware.net\/blog\/wp-json\/wp\/v2\/media?parent=111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tapper-ware.net\/blog\/wp-json\/wp\/v2\/categories?post=111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tapper-ware.net\/blog\/wp-json\/wp\/v2\/tags?post=111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}