{"type":"rich","version":"1.0","provider_name":"Transistor","provider_url":"https://transistor.fm","author_name":"DejaVue","title":"Error Handling in Vue","html":"<iframe width=\"100%\" height=\"180\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https://share.transistor.fm/e/6982a5fc\"></iframe>","width":"100%","height":180,"duration":1760,"description":"All of you have seen users do weird things with your application and running into strange scenarios - who can't relate to this?\nFor this and many other reasons, the right way of error handling is important in you application. Join Michael and Alex on a discussion of the different ways one can handle errors in their application.\nThat includes not always showing an error page, but also handling errors request-based or component-based!\nOn that note, error messages and how to write decent ones that are helpful for the users are discussed, as well as how components like NuxtErrorBoundary work under the hood\nEnjoy the episode! \nChapters\n\n\n\nLinks and Resources\n\nState of JS Survey\nSentry\nBugsnag\nRollbar\nMichael's talk on error handling in Nuxt\nMichael's article on error handling in Nuxt*\nAnd another deep dive into Nuxt 3 error handling*\nDejaVue #E034 - Data Fetching in Vue and Nuxt\nVue Issue regarding throwing errors in production (low level)\nVike\nNuxtErrorBoundary component Source Code\nofetch\nZod\nValibot\nNuxt 4 error and data will be undefined by default\nCreate abstractions for your headings and buttons\n\nYour Hosts\n\nAlexander Lichter\nBlueSky\nTwitter\nYouTube\nTwitch\nWebsite\n\nMichael Thiessen\nTwitter\nYouTube\nWebsite\n\nLinks marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.","thumbnail_url":"https://img.transistorcdn.com/X-XqySYPSn0K4y9YEu8cIiAjVwWPg5ywJAmtmcXm12Q/rs:fill:0:0:1/w:400/h:400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9zaG93/LzUxMTc1LzE3MTEy/MzU4NDMtYXJ0d29y/ay5qcGc.webp","thumbnail_width":300,"thumbnail_height":300}