
try, והשגיאה נתפסת ב-catch.catch שולחים response.status(500).send(...), כך שהלקוח מקבל שגיאת שרת מסודרת ולא קריסה.throw כש-ID הוא 12, ובפוסטמן מתקבל 500 עם הודעת השגיאה.toFixed עם ערך מינוס 10 מפילה את הקוד, כי הדיוק חייב להיות מספר בין 1 ל-100.הטקסט המלא של הדקות הראשונות בהרצאה «טיפול בחריגות - NodeJS Exceptions» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
סוג השגיאה הבא שאנחנו צריכים לטפל בו זה שגיאת 500, זאת אומרת קריסה בשרת. רגע, למה צריכה להיות לנו קריסה?
אז כל פעם שאנחנו מתעסקים עם דיסק, עם דאטאבייס, עם משהו שבעצם הוא מערכת חיצונית לאתר שלנו, יכולה להיות לנו קריסה, ובכלל גם אולי יכולה להיות קריסה בקוד שלנו במקרים מסוימים.
כאשר יש קריסה אנחנו לא רוצים שכל השרת יפסיק מיד לעבוד, אנחנו רוצים להחזיר ללקוח שקרתה איזושהי בעיית קריסה שהיא בעצם אשמתנו כי אם הדאטאבייס קורס זה לא הבעיה של היוזר זה הבעיה של הפיירובר אבל אנחנו חייבים לומר את זה ליוזר ומה שמקובל
ושקריסות אנחנו צריכים לתפוס אותם כמובן עם מנגנון טרייקאץ' ולהחזיר ללקוח הודעת 500 או סטטוס קוד 500. זה אומר שכל אחד מהראוטים שלנו אנחנו עכשיו צריכים לעטוף אותו ב-tri-catch, בואו נשים פה אצ׳ אירור ובתוך האירור response.status הולך
להיות 500.send ובואו נחזיר כרגע את הודעת מסאג' שרק בשביל עכשיו לראות מה בעצם מוחזר, מה בעצם השגיאה שהייתה, כאשר יכול להיות שהרבה פעמים אתם לא רוצים להחזיר ליוזר הסופי את המסאג', אלא אתם רוצים להחזיר איזושהי הודעה אולי יותר כללית כמו הראה שגיאה, אנא נעשה שנית מאוחר יותר.
כי ה-error message יכול להחזיק כל מיני דברים ששייכים לקריסה עצמה, לדוגמה מידע מהדאטאבייס שאתם לא רוצים לחשוף ליוזר, שמות של טבלאות, שמות של עמודות.
אז זה אולי כדאי לעשות רק במצב של דיבאגינג, וכאשר אנחנו בעצם רוצים להעלות גרסה לאוויר למשתמשים אמיתיים, אולי כדאי לשלוח להם הודעה אחרת ולא error message, כמובן 500 בכל מקרה אני שולח את זה אני רוצה עכשיו לשכפל לכל פונקציה אז בואו נתחיל לשכפל קודם כל את הטראיים יש לנו כאן וכאן ויש לנו כאן ובדיליט ואז
ניגש לקאצ'ים ופשוט נדביק את הקאצ' פה תכף נסדר את הכל מבחינת האינדנטיישן וכאן וכאן כי בעצם הכל אותו דבר הנה סידרנו את זה ומה שאנחנו רוצים לעשות זה לבדוק. כמובן, כל דבר שאנחנו בונים אנחנו רוצים גם לבדוק.
אז איך נבדוק את זה? בואו נעשה כזה דבר. יש לנו כאן, בואו ניקח get one product. הנה ה-ID. נעשה איזה בדיקה מעניינת. נגיד כזה דבר.
במידה וה-ID הוא 12, אנחנו נעשה הדמיה של קריסה.