לוגי שגיאה בnodejs וyemotrouter מה הגורם לקריסה?
-
@צדיק-תמים כתב בלוגי שגיאה בnodejs וyemotrouter מה הגורם לקריסה?:
@dovid הכי טוב היה בלי try בלבד חוץ מנקודתי בשורה שרוצים לטפל בשגיאות שלה בצורה שונה
יש לספריה קאלבק מיוחד כדי לטפל בשגיאות לא צפויות בצורה מרוכזת במקום לפזר בקוד try catchאהה חזק, עכשיו הבנתי מה התכוונת.
אבל זה תופס את כל החריגות?
איך זה עובד?@eido כתב בלוגי שגיאה בnodejs וyemotrouter מה הגורם לקריסה?:
אבל זה תופס את כל החריגות?
כל החריגות שלא נתפסו קודם - uncaughtErrorHandler
איך זה עובד?
כיוון שכל הפונקציה של השיחה זה בעצם פונקציה אסינכרונית שהראוטר (הספריה) מריץ, אז הראוטר מריץ אותה בתוך try catch כדי שיהיה אפשר לטפל בצורה נאותה בשגיאות לא צפויות, נניח אם יש לך בקוד נסיון קריאה ל API חיצוני שלא זמין
-
@eido כתב בלוגי שגיאה בnodejs וyemotrouter מה הגורם לקריסה?:
אבל במקום זה חוזר בחזרה לchooseStreet שקראה לו, בלי להחזיר ערך לstreet, ככה שהוא null.
הוא מגיע לשורה הזו:ומתחיל את הלולאה מחדש.
ואז מגיע שוב לשורה:ופה זורק שגיאה שא"א לשלוח עוד פעם הודעה למאזין.
ככה אני מניח.
במקום לנחש תלמד להשתמש בדיבאגר של VSC ולראות את הזרימה של הקוד "בעיניים"
תחסוך לעצמך המון כאב ראש עתידי@צדיק-תמים איך אפשר לדבאג קוד שאמור לרוץ על שרת?
הוא הרי אמור לקבל בקשות, לא? -
@צדיק-תמים איך אפשר לדבאג קוד שאמור לרוץ על שרת?
הוא הרי אמור לקבל בקשות, לא?@eido אתה יכול לדבג ישירות על השרת עם Remote SSH (תוסף של מייקרוסופט ל VSC)
אבל אתה אמור להיות מסוגל להגיש את הפיתוח המקומי שלך החוצה ולדבג מקומית מול בקשות שמגיעות מימות, יש כל מיני כלים שמאפשרים להנגיש שירות לוקאלי החוצה - יש אפילו אחד מובנה ב VSC, זה דרך המלך -
@eido אתה יכול לדבג ישירות על השרת עם Remote SSH (תוסף של מייקרוסופט ל VSC)
אבל אתה אמור להיות מסוגל להגיש את הפיתוח המקומי שלך החוצה ולדבג מקומית מול בקשות שמגיעות מימות, יש כל מיני כלים שמאפשרים להנגיש שירות לוקאלי החוצה - יש אפילו אחד מובנה ב VSC, זה דרך המלך@צדיק-תמים נו, תשתף אותי מה שמו.
-
@צדיק-תמים נו, תשתף אותי מה שמו.
-
@eido אתה יכול לדבג ישירות על השרת עם Remote SSH (תוסף של מייקרוסופט ל VSC)
אבל אתה אמור להיות מסוגל להגיש את הפיתוח המקומי שלך החוצה ולדבג מקומית מול בקשות שמגיעות מימות, יש כל מיני כלים שמאפשרים להנגיש שירות לוקאלי החוצה - יש אפילו אחד מובנה ב VSC, זה דרך המלך@צדיק-תמים כתב בלוגי שגיאה בnodejs וyemotrouter מה הגורם לקריסה?:
יש אפילו אחד מובנה ב VSC, זה דרך המלך
שלו
ניסיתי עכשיו לדבאג דרך הvsc ולא הוא לא נותן שום נתון -
@צדיק-תמים כתב בלוגי שגיאה בnodejs וyemotrouter מה הגורם לקריסה?:
יש אפילו אחד מובנה ב VSC, זה דרך המלך
שלו
ניסיתי עכשיו לדבאג דרך הvsc ולא הוא לא נותן שום נתון -
לא יודע לא מצליח לי
https://drive.google.com/file/d/1TEiEr9******0dx2YkX5-hNkouUyecCmU9Voaz/view -
@צדיק-תמים לא הבנתי איך אני אמור לטפל בשגיאה? נניח ואני רוצה לתפוס שגיאה ולהחזיר בשבילה למאזין פלט ספציפי, איך עושים את זה? הרי אח"כ הקוד ימשיך לרוץ כי הid_list_message לא עוצר את הריצה.
-
@צדיק-תמים לא הבנתי איך אני אמור לטפל בשגיאה? נניח ואני רוצה לתפוס שגיאה ולהחזיר בשבילה למאזין פלט ספציפי, איך עושים את זה? הרי אח"כ הקוד ימשיך לרוץ כי הid_list_message לא עוצר את הריצה.
-
@צדיק-תמים אבל יש שגיאה, ואם אחצא כרגיל זה עלול להסתבך כמו שקרה בקוד שלי.
-
@צדיק-תמים תוכל רגע לענות לי, אני רוצה להבין דבר יסודי בספריה, האם הid_list_message עוצר את הריצה או לא? ואם כן, למה זה ממשיך לרוץ?
-
@צדיק-תמים תוכל רגע לענות לי, אני רוצה להבין דבר יסודי בספריה, האם הid_list_message עוצר את הריצה או לא? ואם כן, למה זה ממשיך לרוץ?
@eido הid_list_message בלי פרמטר prepend to next זורק שגיאה
אם אתה לא עושה עליה try catch אז הפונקציה נעצרת והשגיאה מטופלת על ידי הראוטר
אם אתה עושה try catch ולא בודק את סוג השגיאה, זה בעיהבכללי אין סיבה בדוגמאות שהבאת לעשות try catch כי יש הנדלר גלובלי לשגיאות לא צפויות
אם היה לך נניח קוד שמנסה API אחד ואם הוא נכשל מנסה אחר, זה היה הגיוני, אבל רק מסביב הקוד הספציפי הזה ולא לעטוף את כל הקוד -
@eido הid_list_message בלי פרמטר prepend to next זורק שגיאה
אם אתה לא עושה עליה try catch אז הפונקציה נעצרת והשגיאה מטופלת על ידי הראוטר
אם אתה עושה try catch ולא בודק את סוג השגיאה, זה בעיהבכללי אין סיבה בדוגמאות שהבאת לעשות try catch כי יש הנדלר גלובלי לשגיאות לא צפויות
אם היה לך נניח קוד שמנסה API אחד ואם הוא נכשל מנסה אחר, זה היה הגיוני, אבל רק מסביב הקוד הספציפי הזה ולא לעטוף את כל הקוד@צדיק-תמים גם אם אני עושה רק try/finally זה יתנגש עם ההנדלר הזה?
-
@צדיק-תמים גם אם אני עושה רק try/finally זה יתנגש עם ההנדלר הזה?
-
-
@צדיק-תמים לא מצאתי משהו מיוחד בנידון, רק שjs לוקה בחסר בכל ענין השגיאות.
-
D dovid נעל נושא זה
