DCSIMG
throw exception, או שמא סתם throw? - Ohad Aston - ASP.NET Blog

Ohad Aston - ASP.NET Blog

פיתוח לאינטרנט, ASP.NET ועוד

על הבלוג

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

Try Opera today - it's free

Ohad Aston's Facebook profile

Pagerank - קידום בגוגל

website counter

Powered by TinyMCE
Add to Technorati Favorites
Add to Google

אני ב - Twitter

    הבלוגספירה

    עצומות חשובות - חתמו והשפיעו!

    פרוייקטים ששווים הצצה

    throw exception, או שמא סתם throw?

    לעתים אני נתקל בקוד בסגנון הבא:

    try
    {
        DoSomething();
    }
    catch (Exception ex)
    {
        // Some logging operation or whatever...
    
       throw ex;
    }

    השורה throw ex כביכול זורקת חריג חדש עם אותם הפרטים של ה - Exception הקודם, מה שגורם למחיקת ה - Stack Trace.

    במידה וביצענו פעולות כלשהן על חריג, ואנחנו מעוניינים לזרוק אותו מחדש, יש להשתמש במילה throw בלבד, לדוגמה:

    try
    {
        DoSomething();
    }
    catch (Exception ex)
    {
        // Some logging operation or whatever...
    
       throw;
    }

    במקרה הזה ה - Stack Trace המקורי ישאר (כמובן שזה תקף לכל שפה דוטנטית אחרת).

    פורסם: Apr 22 2008, 07:23 PM by OhadAston | with 3 comment(s)
    תגים:, ,

    תוכן התגובה

    Nir Tayeb כתב/ה:

    והשאלה שנשאלת בתגובה לשאלה הזאת, היא למה לעשות את זה?

    כל הרעיון של try..catch זה לתפוס את השגיאה ולטפל בא, אז למה לזרוק אותה שוב?

    לא חבל על המשאבים שנזקקים בכדי לעקוב אחר התנהלות הקוד?

    # May 6, 2008 10:13 PM

    אוהד אסטון כתב/ה:

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

    # May 7, 2008 9:22 PM

    Amita כתב/ה:

    Please help.I know only english :( .I want to read your blog  

    # May 16, 2008 6:46 AM
    שלח תגובה

    (שדה חובה)  

    (שדה חובה)  

    (אופציונלי)

    (שדה חובה) 

    Please add 1 and 2 and type the answer here:


    Enter the numbers above: