בקשת מידע | סינון סוגי שגיאות בריצה בגוגל סקריפט
-
כתבתי קוד בגוגל סקריפט, ותכננתי אותו שכשיש שגיאה הוא ימשיך לשלב הבא.
אבל אני רוצה לסנן את סוגי השגיאות, כי כשיש שגיאה של חריגה בשל מגבלת גוגל, אני לא מעונין שהוא ימשיך בריצה לשלב הבא. ורק כשיש שגיאה בשל בעיה או טעות בקוד, אז הוא ימשיך לרוץ, השאלה היא איך לקרוא לשגיאת חריגה, ואיך לתכנן אותה שיפסיק את הפעולה לגמרי?
דהיינו אני רוצה לעשות תנאי שאם השגיאה היא חריגה מהמגבלה אז הוא יעשה כך וכך..
מומחי סקריפטים...
בתודה. -
-
@מגדלים לאיזה שגיאות אתה מתכוון אם אתה מתכוון לחריגה במכסות של גוגל מה זה יעזור להמשיך הלאה ?
ואם אתה מתכוון לשגיאות בריצת הסקריפט אין איך לצפות מראש את סוג השגיאה כל פעם יכול להיות שגיאה אחרת
אם אתה יודע איזה שגיאה בדיוק עלולה לצוץ אפשר לכתוב תנאי פשוט שקורא לפונקצייה הבאה במקרה של כשל -
-
@מגדלים השאלה לא קשורה דווקא לגוגל סקריפט,
כל הנושא הזה של טיפול בשגיאות פחות "מפותח" בJS מסיבות הסטוריות, לדוגמה בפייתון אפשר ללכוד מראש רק שגיאות מסוימות - לדוגמה
except FileNotFoundError
, בJS צריך ללכוד את כל השגיאות ולעשות תנאי שאם הוא לא מתקיים לזרוק (throw
) מחדש את השגיאה), ובכללי התנהגויות רבות של JS ש"נכשלות בשקט" במקום לזרוק שגיאה, לדוגמה נסיון להמיר מחרוזת לא מספרית למספר, שמחזירNaN
במקום שגיאה.עיין https://javascript.info/try-catch#error-object
אפשר לבדוק לפי תחילת הerr.message
- כאן יש לך רשימה https://developers.google.com/apps-script/guides/services/quotas#exception_messagesיותר אלגנטי היה לבדוק לפי הname במקרה שלא השאירו אותו בדיפולט, רק שאני לא יודע איך לגרום בצורה יזומה לשגיאה כדי לבדוק את זה, מלבד לגרום לסקריפט שירוץ יותר מ6 דקות - אלא שאז גוגל סקריפט הורג את הריצה בכח ואי אפשר להשתמש בtrycath כדי להדפיס את פרטי השגיאה.