דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. למה GO נבהל מכל panic?

למה GO נבהל מכל panic?

מתוזמן נעוץ נעול הועבר תכנות
22 פוסטים 6 כותבים 254 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי dovid
    #2

    אני חושב שגם בשאלה הזו אין שום דבר מיוחד בgo.
    panic זה מן הסתם שם נרדף לexception. ומדובר פה לפי מה שאני מבין בגישה למשתנה מצביע לא מאותחל/ריק. מה שנקרא בjava "טעות המיליון דולר" - NullPointerException.
    exception זה פיצ'ר בשפות תכנות, שגורם לתוכנה ליפול אם אין לכידה וטיפול במקום להמשיך "כאילו כלום".
    אני מתאר לעצמי שכל מתכנת מרגיש לפחות לפעמים שהexception יותר מפריעים ממסייעים. בגללם התוכנה שלו קורסת והוא צריך להסתרבל עם טיפול בשגיאות וכו'. בכל זאת אם זה קיים זה אומר שהעדר גרוע יותר: תוכנית שממשיכה לרוץ באופן שלא צפית (כי אם צפית למה לא טיפלת בזה?) זה סכנה גדולה יותר מתוכנית קורסת (שנראית הסכנה הגדולה ביותר כאשר זה קורה...).

    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    WWWW nigunN 2 תגובות תגובה אחרונה
    6
    • WWWW מנותק
      WWWW מנותק
      WWW
      השיב לdovid ב נערך לאחרונה על ידי
      #3

      @dovid בכל זאת, למה בחלק מהשפות זה לא קורה?

      WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

      clickoneC yossizY 2 תגובות תגובה אחרונה
      1
      • nigunN מנותק
        nigunN מנותק
        nigun
        השיב לdovid ב נערך לאחרונה על ידי
        #4

        @dovid
        ניחשתי שזה משהו משותף לשפות הלאו לוואל
        בכללי זה טוב שאתה תופס את הבאגים מוקדם (בקימפול למשל)
        ולא אחרי שזה בפרודקשן מלא
        אבל הייתי מצפה לאופציה של "התעלם" מפעולות שהם לא קריטיות
        כך שאם יש איזה באג מתוחכם שקורה רק במקרה מסויים תחת עומס (מה שקרה לי היום)
        אני יוותר על הפעולה הזאת והמשתמש שיצר את הבאג יקבל כמה שגיאות
        אבל שאר הלקוחות ישארו באוויר

        מייל: nigun@duck.com

        תגובה 1 תגובה אחרונה
        0
        • clickoneC מנותק
          clickoneC מנותק
          clickone
          השיב לWWW ב נערך לאחרונה על ידי
          #5

          @WWW
          בכתיבה למערך נניח, אני מניח שבשפות אחרות יש מנגנון פנימי שדואג שזה לא יהיה ביחד
          ובשפות אחרות אכן צריך לעשות lock לבלוק

          אין טסט כמו פרודקשן.

          המייל שלי urivpn@gmail.com

          תגובה 1 תגובה אחרונה
          4
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב לWWW ב נערך לאחרונה על ידי
            #6

            @WWW @nigun
            אין שום שפה בעולם שממשיך במקרה של חריגה בלי שתתפוס את החריגה ותטפל בו

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            WWWW תגובה 1 תגובה אחרונה
            0
            • WWWW מנותק
              WWWW מנותק
              WWW
              השיב לyossiz ב נערך לאחרונה על ידי
              #7

              @yossiz אמר בלמה GO נבהל מכל panic?:

              אין שום שפה בעולם שממשיך במקרה של חריגה בלי שתתפוס את החריגה ותטפל בו

              יש הרבה שפות שלא קורה חריגה.

              WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

              yossizY תגובה 1 תגובה אחרונה
              0
              • yossizY מנותק
                yossizY מנותק
                yossiz
                השיב לWWW ב נערך לאחרונה על ידי
                #8

                @WWW אמר בלמה GO נבהל מכל panic?:

                יש הרבה שפות שלא קורה חריגה.

                שלא קורה חריגה במקרה ש... מה?
                אתה מדבר על פעולה ספציפית שבשפות אחרות לא גורמת לחריגה, על איזה פעולה אתה מדבר?
                אני הבנתי שיש כאן שאלה כללית, למה התוכנה לא ממשיכה לאחר חריגה.

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                WWWW 2 תגובות תגובה אחרונה
                1
                • WWWW מנותק
                  WWWW מנותק
                  WWW
                  השיב לyossiz ב נערך לאחרונה על ידי
                  #9

                  @yossiz לא יודע, בPHP השגיאות מחולקות ל 8 דרגות.
                  ומעולם לא נתקלתי בחריגה.

                  כמובן זה PHP, אבל בכל זאת, איך הוא מתנהג כשקורה שגיאות כאלה, רושם שגיאה ועובר הלאה.

                  WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                  י תגובה 1 תגובה אחרונה
                  3
                  • WWWW מנותק
                    WWWW מנותק
                    WWW
                    השיב לyossiz ב נערך לאחרונה על ידי
                    #10

                    @yossiz מזכיר לי את הנוקיה C2 שלי, כשקורה שגיאת רשת לא צפויה באמצע שיחה, הוא מתאתחל, כשחיבור לאוזניית בלוטוס מסתיים באופן לא צפוי, הוא מתאתחל.
                    זה לא נראה לי התנהגות רצויה בכלל.

                    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                    תגובה 1 תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      כתב ב נערך לאחרונה על ידי
                      #11

                      כמו ש@yossiz אמר זה קורה בכל שפה נורמלית, זה לא באג אלא זה שכלול שהכניסו לכל שפה.
                      ושפת PHP לא מוכרת לי בעניין הזה, אבל ללא ספק יש את זה שם אבל יש לקחת בחשבון שני דברים:
                      א. קריסה בPHP זה סה"כ בהקשר של בקשה בודדת - זה היקף האפליקציה שרצה באותו רגע.
                      ב. יש מחלקות "סלחניות" שסובלות שגיאות. כל מתכנת יכול לעטוף כל קוד מחולל שגיאות בקוד משלו שיהיה סלחן ולעולם "לא יעשה בעיות" אבל זה יתנקם בבאגים הרבה יותר גרועים (בקושי לאתרם ובתוצאות המשונות שלהם) מאשר קריסה כוללת שמאוד קל לטפל בה.

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      dovidD תגובה 1 תגובה אחרונה
                      6
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        השיב לdovid ב נערך לאחרונה על ידי dovid
                        #12

                        @WWW תחשוב על הטלפון, נניח אתה שומר פרטי איש קשר, ויש באג והשמירה לא נעשתה. אם המפתח דאג, תוצג לך שגיאה ותדע שאיש הקשר לא נשמר (ותנסה מהר להשיג את המספר שוב). אבל אם זו שגיאה שלא נצפתה, אילו התוכנה לא תקרוס יופיע לך כיתוב חגיגי שאיש הקשר נשמר בהצלחה.
                        בלינק הבא
                        https://softwareengineering.stackexchange.com/a/403344
                        יש דוגמה (קיצונית אמנם) שתאזן לך את השאלה: תוכנה של מטוס שתקרוס זה יחייב את הטייס לטוס "ידנית" ועם מעט מידע. אבל זה הרבה יותר טוב מאם התוכנה תמשיך לעבוד ותיתן מידע שגוי.

                        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                        nigunN WWWW 2 תגובות תגובה אחרונה
                        5
                        • nigunN מנותק
                          nigunN מנותק
                          nigun
                          השיב לdovid ב נערך לאחרונה על ידי
                          #13

                          @dovid
                          להוריד את כל האפליקציה במקום את התהליך הצאצא נשמע יותר כמו להוריד את המטוס
                          אגב אני לא מתי בדיוק אבל לפעמים בשרת tcp אם אני עושה panic רק החיבור הספיציפי נופל ולא כל השרת

                          מייל: nigun@duck.com

                          dovidD תגובה 1 תגובה אחרונה
                          2
                          • dovidD מנותק
                            dovidD מנותק
                            dovid ניהול
                            השיב לnigun ב נערך לאחרונה על ידי dovid
                            #14

                            על איזה תהליך צאצא אתה מדבר?
                            אני לא מכיר go אבל לא דיברת על תהליכי משנה.
                            מאוד יכול להיות שעצם הקריסה של תהליך גוררת שגיאה נוספת אצל האב והיא זו שגורמת לקריסתו (כל עוד לא טיפלו בתרחיש הזה).
                            בקיצור תיערך לשגיאות כדי שיקרו כמה שפחות ונסה ללכוד את אלו שכן יקרו ואז תחליט איך נכון להמשיך והאפליקציה שלך תמשיך.

                            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                            nigunN תגובה 1 תגובה אחרונה
                            3
                            • י מנותק
                              י מנותק
                              יוסף בן שמעון
                              השיב לWWW ב נערך לאחרונה על ידי
                              #15

                              @WWW דוקא זכור לי שאם אתה כותב שתי פונקציות בשם זהה נזרקת חריגה והתהליך מתרסק, אני טועה?

                              WWWW תגובה 1 תגובה אחרונה
                              0
                              • nigunN מנותק
                                nigunN מנותק
                                nigun
                                השיב לdovid ב נערך לאחרונה על ידי
                                #16

                                @dovid
                                כנראה שזה ההבדל
                                אני הפנמתי כבר בהתחלה שאין כאן הנחות (בשונה מPHP)
                                ואני דווקא נהנה מזה ,כי אז אתה לא נתקע עם זה בפרודקשן
                                אבל היום כאמור נפלתי עם טיפול במערך(יותר נכון מפה) ע"י שתי תהליכים במקביל
                                ומשום מה לא מזהירים על כך במדריכים למפות בGO
                                ורק אחרי שהלקוח הזעיק אותי למחשב ואחרי ניפוי באגים + חיפוש בגוגל
                                גיליתי את הסוד ורצתי לחפש את כל המקומות בו אני יוצר איברים למערך והוספתי נעילה
                                וזה די מתסכל שאני לא יכול לישון בשקט
                                שהשרת שלי ישאר למעלה גם אחרי שהרצתי בדיקות בסיסיות
                                (איך אני אמור ליצור כזאת שגיאה בתנאי מעבדה?)
                                @יוסף-בן-שמעון
                                בPHP אם אתה לא כותב את הסקריפט נכון הוא לא יתחיל
                                אבל לא נראה לי שיש הפתעות באמצע הריצה

                                מייל: nigun@duck.com

                                dovidD תגובה 1 תגובה אחרונה
                                3
                                • dovidD מנותק
                                  dovidD מנותק
                                  dovid ניהול
                                  השיב לnigun ב נערך לאחרונה על ידי dovid
                                  #17

                                  @nigun הבעיה היא אחרת. שאתה משתמש בפרודקשיין בשפה שהרגע למדת,
                                  ולא רק השפה חדשה אלא גם כל הטכניקות שלה גם זרות לך לגמרי (כמו ריבוי תהליכים. ואם יש אזהרות במדריכים, שמה הם אמורים להיות).
                                  לא רק שאין בזה בעיה אלא שזה הדרך הכי טובה ללמוד! אבל המחיר הוא השגיאות האלה.

                                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                  תגובה 1 תגובה אחרונה
                                  5
                                  • WWWW מנותק
                                    WWWW מנותק
                                    WWW
                                    השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                                    #18

                                    @יוסף-בן-שמעון אמר בלמה GO נבהל מכל panic?:

                                    @WWW דוקא זכור לי שאם אתה כותב שתי פונקציות בשם זהה נזרקת חריגה והתהליך מתרסק, אני טועה?

                                    זו שגיאת מהדר נראה לי.

                                    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                                    תגובה 1 תגובה אחרונה
                                    1
                                    • WWWW מנותק
                                      WWWW מנותק
                                      WWW
                                      השיב לdovid ב נערך לאחרונה על ידי
                                      #19

                                      @dovid אמר בלמה GO נבהל מכל panic?:

                                      @WWW תחשוב על הטלפון, נניח אתה שומר פרטי איש קשר, ויש באג והשמירה לא נעשתה. אם המפתח דאג, תוצג לך שגיאה ותדע שאיש הקשר לא נשמר (ותנסה מהר להשיג את המספר שוב). אבל אם זו שגיאה שלא נצפתה, אילו התוכנה לא תקרוס יופיע לך כיתוב חגיגי שאיש הקשר נשמר בהצלחה.

                                      יש עוד אלפי דגמי טלפונים שזה לא קורה.
                                      מבחינתי בכזה מקרה אמור להיות הודעה :שגיאה כללית".

                                      WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                                      dovidD תגובה 1 תגובה אחרונה
                                      0
                                      • dovidD מנותק
                                        dovidD מנותק
                                        dovid ניהול
                                        השיב לWWW ב נערך לאחרונה על ידי
                                        #20

                                        @WWW אמר בלמה GO נבהל מכל panic?:

                                        מבחינתי בכזה מקרה אמור להיות הודעה :שגיאה כללית".

                                        אתה חי בקונספט של אקסס ואולי גם PHP, שחלק רב מהמערכת בכלל לא נכתב על ידך. אז הדרישות שלך מופנות למתכנת של חלק אחר בתוכנה.
                                        אם אתה זה שכותב את הקוד, מאפס, מי ידאג לכזו הודעה אם לא אתה.
                                        המתכנת אמור לעשות לכידת שגיאות ולכתוב את זה. ואם הוא לא לכד אנחנו מגיעים לנושא ש@nigun פתח.
                                        הוא לא ציפה להודעה כזו אלא ציפה שחבר של nil יחזיר גם nil וכן הלאה ולא צריך לעשות שגיאות על כל דבר שחסר או לא מתאים.

                                        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                        WWWW תגובה 1 תגובה אחרונה
                                        1
                                        • WWWW מנותק
                                          WWWW מנותק
                                          WWW
                                          השיב לdovid ב נערך לאחרונה על ידי
                                          #21

                                          @dovid ברור שאני מסתכל ברובד של משתמש, ולא של מתכנת.
                                          אבל בכל זאת מותר שהברירת מחדל של אפליקציה טיפשה עם מפתח טיפש, או שדווקא המפתח כלל לא טיפש, רק שתמיד יש דברים לא צפויים.
                                          יהיה משהו אחר מאתחול המכשיר.

                                          לא כל דבר זה מסך כחול.

                                          WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                                          תגובה 1 תגובה אחרונה
                                          0

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום