פעולת try/finally מפריע לcatch שמעליו או לא - nodejs
-
@eido כן, כי אתה זורק את השגיאה שוב מחוץ לבלוק try
רק מה ש try { פה } נתפס
אבל אתה לא אמור להגיע למצב כזה בדרך כלל, כי אתה לא אמור לעטוף קטעי קוד גדולים
בכל מקרה עדיף שתזרוק מחדש בcatch ולא בfinnaly כי אז יש לך את המשתנה של השגיאה לזרוק אותה מחדש -
@eido כן, כי אתה זורק את השגיאה שוב מחוץ לבלוק try
רק מה ש try { פה } נתפס
אבל אתה לא אמור להגיע למצב כזה בדרך כלל, כי אתה לא אמור לעטוף קטעי קוד גדולים
בכל מקרה עדיף שתזרוק מחדש בcatch ולא בfinnaly כי אז יש לך את המשתנה של השגיאה לזרוק אותה מחדש@צדיק-תמים לא, הפעם הוא נקודתי ממש
try { // toDo = await call.read(tempAd, toDo = await call.read([...tempAd,{ type: 'file', data: `/ivr_records/שמיעה1` }], 'tap', {sec_wait: 2, min_digits: 1, typing_playback_mode: "No", digits_allowed: [1, 2, 3, "*0"] }); } finally{ console.log("מסמן כנקראה"); await updateBuyerAds(paramAndAdsContent[indexOfSubscrib].ads.new[i1].adId, call); // console.log(`סימן כנקראה את מודעה ${paramAndAdsContent[indexOfSubscrib].ads.new[i1].adId}`); }פשוט הייתי חייב לסמן מודעה כנקראה גם אם הוא ינתק באמצע. לכן אני לא יכול לוותר עליו.
-
@צדיק-תמים לא, הפעם הוא נקודתי ממש
try { // toDo = await call.read(tempAd, toDo = await call.read([...tempAd,{ type: 'file', data: `/ivr_records/שמיעה1` }], 'tap', {sec_wait: 2, min_digits: 1, typing_playback_mode: "No", digits_allowed: [1, 2, 3, "*0"] }); } finally{ console.log("מסמן כנקראה"); await updateBuyerAds(paramAndAdsContent[indexOfSubscrib].ads.new[i1].adId, call); // console.log(`סימן כנקראה את מודעה ${paramAndAdsContent[indexOfSubscrib].ads.new[i1].adId}`); }פשוט הייתי חייב לסמן מודעה כנקראה גם אם הוא ינתק באמצע. לכן אני לא יכול לוותר עליו.
-
@eido כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
פשוט הייתי חייב לסמן מודעה כנקראה גם אם הוא ינתק באמצע.
אז קודם תסמן כנקרא ואז תפעיל read
@צדיק-תמים אבל בread שומעים את המודעה, ואם הוא ינתק לפני הread זה יסומן סתם כנקרא.
-
@צדיק-תמים אבל בread שומעים את המודעה, ואם הוא ינתק לפני הread זה יסומן סתם כנקרא.
-
@eido אני לא רואה שאתה בודק כמה זמן עבר, הוא יכול לנתק רגע אחרי שהחזרת את התגובה לימות
בכל אופן יש על מקרה כזה תיעוד מפורט
https://github.com/ShlomoCode/yemot-router2#הרצת-קוד-לאחר-החזרת-תשובה-למחייגכבר שלחתי לך אותו בעבר
@צדיק-תמים כן, אני משתמש בזה מאז.
לא כ"כ הבנתי, אני לא צריך לבדוק כמה זמן עבר, מבחינתי ברגע שפקודת ההשמעה נשלחה לימות המשיח - הוא שמע את המודעה ואני מסמן אותה כנקראה, אני לא צריך לבדוק אם עבר מספיק זמן בשביל שהוא ישמע את זה.
אני לא יכול להשתמש שם בקומבינה של הרצת קוד לאחר החזרת תשובה למחייג בגלל שהמערכת לא בנויה מראש בשביל שישמע וינתק או שישמע מודעה והמערכת תוציא אותו, הוא שומע את המודעות כסדר (לכן זה read ולאid_list_message) ויש לו על זה תפריט, רק צריך לחשוב גם על מקרה שינתק באמצע. לכן שמתי בfinally.
או שלא הבנתי משהו נכון?
-
@צדיק-תמים כן, אני משתמש בזה מאז.
לא כ"כ הבנתי, אני לא צריך לבדוק כמה זמן עבר, מבחינתי ברגע שפקודת ההשמעה נשלחה לימות המשיח - הוא שמע את המודעה ואני מסמן אותה כנקראה, אני לא צריך לבדוק אם עבר מספיק זמן בשביל שהוא ישמע את זה.
אני לא יכול להשתמש שם בקומבינה של הרצת קוד לאחר החזרת תשובה למחייג בגלל שהמערכת לא בנויה מראש בשביל שישמע וינתק או שישמע מודעה והמערכת תוציא אותו, הוא שומע את המודעות כסדר (לכן זה read ולאid_list_message) ויש לו על זה תפריט, רק צריך לחשוב גם על מקרה שינתק באמצע. לכן שמתי בfinally.
או שלא הבנתי משהו נכון?
@eido כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
לא כ"כ הבנתי, אני לא צריך לבדוק כמה זמן עבר, מבחינתי ברגע שפקודת ההשמעה נשלחה לימות המשיח - הוא שמע את המודעה ואני מסמן אותה כנקראה
אז אתה יכול כבר לסמן לפני ששלחת את התגובה, אין משמעות לכמה אלפיות שניה שהקוד מחזיר את התגובה
@eido כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
אני לא יכול להשתמש שם בקומבינה של הרצת קוד לאחר החזרת תשובה למחייג בגלל שהמערכת לא בנויה מראש בשביל שישמע וינתק או שישמע מודעה והמערכת תוציא אותו, הוא שומע את המודעות כסדר (לכן זה read ולאid_list_message) ויש לו על זה תפריט, רק צריך לחשוב גם על מקרה שינתק באמצע. לכן שמתי בfinally.
לא הבנתי כלום
-
@eido כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
לא כ"כ הבנתי, אני לא צריך לבדוק כמה זמן עבר, מבחינתי ברגע שפקודת ההשמעה נשלחה לימות המשיח - הוא שמע את המודעה ואני מסמן אותה כנקראה
אז אתה יכול כבר לסמן לפני ששלחת את התגובה, אין משמעות לכמה אלפיות שניה שהקוד מחזיר את התגובה
@eido כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
אני לא יכול להשתמש שם בקומבינה של הרצת קוד לאחר החזרת תשובה למחייג בגלל שהמערכת לא בנויה מראש בשביל שישמע וינתק או שישמע מודעה והמערכת תוציא אותו, הוא שומע את המודעות כסדר (לכן זה read ולאid_list_message) ויש לו על זה תפריט, רק צריך לחשוב גם על מקרה שינתק באמצע. לכן שמתי בfinally.
לא הבנתי כלום
@צדיק-תמים כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
@eido כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
לא כ"כ הבנתי, אני לא צריך לבדוק כמה זמן עבר, מבחינתי ברגע שפקודת ההשמעה נשלחה לימות המשיח - הוא שמע את המודעה ואני מסמן אותה כנקראה
אז אתה יכול כבר לסמן לפני ששלחת את התגובה, אין משמעות לכמה אלפיות שניה שהקוד מחזיר את התגובה
@eido כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
אני לא יכול להשתמש שם בקומבינה של הרצת קוד לאחר החזרת תשובה למחייג בגלל שהמערכת לא בנויה מראש בשביל שישמע וינתק או שישמע מודעה והמערכת תוציא אותו, הוא שומע את המודעות כסדר (לכן זה read ולאid_list_message) ויש לו על זה תפריט, רק צריך לחשוב גם על מקרה שינתק באמצע. לכן שמתי בfinally.
לא הבנתי כלום
הקומבינה של הרצת קוד לאחר החזרת תשובה למשתמש, נצרכת אם עושים call.id_list_message, כי אז הקוד גומר את פעלותו ומה שאחריו - סימון המודעה - לא מתבצע. אבל כאן אני לא משתמש בזה אלא בcall.read והקוד אמור להמשיך לרוץ ככה שאם לא יהיו בעיות הקוד אמור לרוץ, כל מה שאני עושה finally זה למקרה שהמחייג ינתק.
מקוה שהייתי מובן הפעם.
-
@צדיק-תמים כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
@eido כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
לא כ"כ הבנתי, אני לא צריך לבדוק כמה זמן עבר, מבחינתי ברגע שפקודת ההשמעה נשלחה לימות המשיח - הוא שמע את המודעה ואני מסמן אותה כנקראה
אז אתה יכול כבר לסמן לפני ששלחת את התגובה, אין משמעות לכמה אלפיות שניה שהקוד מחזיר את התגובה
@eido כתב בפעולת try/finally מפריע לcatch שמעליו או לא - nodejs:
אני לא יכול להשתמש שם בקומבינה של הרצת קוד לאחר החזרת תשובה למחייג בגלל שהמערכת לא בנויה מראש בשביל שישמע וינתק או שישמע מודעה והמערכת תוציא אותו, הוא שומע את המודעות כסדר (לכן זה read ולאid_list_message) ויש לו על זה תפריט, רק צריך לחשוב גם על מקרה שינתק באמצע. לכן שמתי בfinally.
לא הבנתי כלום
הקומבינה של הרצת קוד לאחר החזרת תשובה למשתמש, נצרכת אם עושים call.id_list_message, כי אז הקוד גומר את פעלותו ומה שאחריו - סימון המודעה - לא מתבצע. אבל כאן אני לא משתמש בזה אלא בcall.read והקוד אמור להמשיך לרוץ ככה שאם לא יהיו בעיות הקוד אמור לרוץ, כל מה שאני עושה finally זה למקרה שהמחייג ינתק.
מקוה שהייתי מובן הפעם.