How to handle Node.js errors like a Pro?

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 35

  • @Vriskh4oj
    @Vriskh4oj 11 หลายเดือนก่อน +5

    Omg I am a self educated begginer developer, and 3 days ago, I did the same thing. I just felt the need to throw custom error. Im glad I fid the right thing

  • @LarutanAK
    @LarutanAK ปีที่แล้ว +12

    Not long ago I had to revamp the error handling system of over 20 projects with over 5 different approachs mixed within them.
    Working on an enterprise level for a multibillion dollar company that has this kind of anti-pattern and literally no code review can be a nightmare, but it is extremely educational.
    Took me not much more than a couple of weeks of work time, but I am glad to see that the final result is pretty much what you taught on this video.
    Most junior and mid-level developers dont pay a lot of attention to error handling. This video is absolute gold in terms of best practices.

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      Thanks for sharing your story, that's very insightful. Would you say the points mentioned in the video are sufficient when it comes to the code. Or were there any other patterns you used when refactoring? :)

    • @LarutanAK
      @LarutanAK ปีที่แล้ว +2

      @@SoftwareDeveloperDiaries I really liked your approach, showing the do's and dont's (many of which I've seen during the process lol)
      I developed a library to centralize all error handling through a middleware, using a similar approach with an error dictionary and custom error types (easy to reuse on all projects).
      The biggest issue was how the errors were thrown: Promise.rejects, .catch(), just arbritrary throws and/or try-catches, or simply nothing at all... for that I went with hexagonal pattern, piping all errors towards the error-handler and its dictionary through a few adapters (simple and cleaner code)
      For the final result, any custom error can be simply added to the dictionary, along with a function that will handle the specifics for that error, or if the developer adds nothing custom, a default dictionary is used to create an error with all necessary logging and debbugging info.

    • @codingispower1816
      @codingispower1816 10 หลายเดือนก่อน

      Would be cool to see an example of this library.@@LarutanAK

  • @prasannabiswas681
    @prasannabiswas681 5 หลายเดือนก่อน +3

    This are some next level through experience gained codes which you are passing to new developers........with great power comes great responsibility
    Hats off to you I just got placed in a company after a system design interview for Fullstack Developer role just by following this playlist.
    Couldn't thank you more sir.

  • @ManishBachani-i4w
    @ManishBachani-i4w 9 หลายเดือนก่อน

    Damn, a good explanation no one is touching this depth of concepts like memory, handling error, and all stuff you are doing a great job!!

  • @paperC_CSGO
    @paperC_CSGO 5 หลายเดือนก่อน

    Please do a video about performance tests in node! Testing locally + setting up tests for CI/CD

  • @vmmoorthi
    @vmmoorthi 8 หลายเดือนก่อน

    You are delivering crucial things
    Thank you

  • @renjithpn2002
    @renjithpn2002 4 หลายเดือนก่อน

    This is gold, thanks for sharing, expecting more like this! 🙂

  • @vipsvips3213
    @vipsvips3213 17 วันที่ผ่านมา

    that is really helpfull keep up this content

  • @fisherhe5030
    @fisherhe5030 9 หลายเดือนก่อน

    Really helpful for me. Thanks, guy.

  • @tylerarrigoni7700
    @tylerarrigoni7700 หลายเดือนก่อน

    This is good stuff...thx for posting

  • @acousticmunda6400
    @acousticmunda6400 ปีที่แล้ว +2

    OMG it is so helpful, I am feeling like a Pro now😅

  • @rajanacharya6360
    @rajanacharya6360 ปีที่แล้ว

    Great video. Subscribed!, I have been also following same approach. Would like to request you to consider making videos for topic like best practice, code quality, optimization, debugging, performant code etc.

  • @enogratechnologies1896
    @enogratechnologies1896 9 หลายเดือนก่อน

    Thanks for this.

  • @ayushpatel2171
    @ayushpatel2171 6 หลายเดือนก่อน

    Do we have to create our own error dictionary or is there some sort of npm package for it?

  • @mroobert
    @mroobert 4 หลายเดือนก่อน

    Why do you need the isOperational flag? In isTrustedError if the error is istanceof AppError than is a trusted error. Is there a specific case where we need this isOperational with false / true?

  • @ayushpatel2171
    @ayushpatel2171 6 หลายเดือนก่อน

    I am unable to understand the importance of Object.setPrototypeOf(this, new.target.prototype). Can you please explain the significance of this line.

  • @dawid_dahl
    @dawid_dahl ปีที่แล้ว

    Great video. Subscribed!

  • @bafian
    @bafian ปีที่แล้ว

    you think it's okey to hardcode in the client side the httpCode ? or was this just an example and that httpCode property should only be used for network request errors?

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      The latter! I hardcoded it just to demonstrate it as an example 😉

    • @bafian
      @bafian ปีที่แล้ว

      @@SoftwareDeveloperDiaries haha oki dokis

  • @scottamolinari
    @scottamolinari ปีที่แล้ว

    It's pronounced walla"bee".