שלח תשובה

זירת השאלות

266
צפיות
19
תשובות

אפשר לקבל הסבר בבקשה?!

,‏ 27 באפריל, 2004

היי,
דפדפתי בספר שלי על ASP ובמקרה ראיתי באחד הדפים דף שמדבר על אוביקט error, הבנתי שהוא נוצר מעצמו כאשר מתגלת שגיאה בדף…
אבל לא יותר מזה….

ראיתי פה כול מיני קודים על זה כמו:
e.aspcode
e.description
וכו’…. בקיצור אין לי מושג מה האובייקט הזה עושה בכלל!!


אשמח אם משהו יסביר לי על כך בהרחווה..
תודה מראש!!

תגיות:

19 תשובות

  1. ניר טייב הגיב:

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

    try{
    oConn.Execute(sSQL);
    }

    במקרה ויש שגיאת תחביר בשאילתא(למשל זה לא רק בשאילתות)
    אז נוכל לתפוס את השגיאה ע"י אובייקט ERROR ולהציגה

    try{
    oConn.Execute(sSQL);
    }
    catch(e){
    Response.Write(e.description + "<br>" + e.aspCode + "<br>" + e.line)
    }

    (לגבי ה-line אני לא בטוח)

    לעוד יש במדור ASP על תפיסת שגיאות זמן ריצה של VBS

  2. אוריקס הגיב:

    זה לא אותו הדבר.
    ERROR הוא אובייקט ASP בדיוק כמו Response ו Request, מה שאומר, כמובן, שניתן להשתמש בו בלי קשר לשפת הסקריפט איתה אתה עובד.

  3. ניר טייב הגיב:

    כתבתי את שפת צד השרת כדי
    שלא ישאל אחר כך מה TRY ו-CATCH ב-VBS כאשר אין את זה

  4. ב-VBS
    אתה פשוט עושה on error resume next, לא?

    אני כבר ממש לא זוכר איך אתה שולף את השגיאה (אם קרתה). נראה לי שזה מאוכסן ב-Err.

    אגב – אני לא יודע אם זה יעבוד גם ב-VBS, אבל ב-VB אפשר גם לעשות on error goto funName…

  5. ניר טייב הגיב:

    נכון…
    אבל לפי הידוע לי טיפול שגיאות בשיטה של JS יותר טובה משל VBS
    השיטה הזו הולכת גם בשפות תכנות אחרות C++ ו-JAVA

  6. שאלה בקשר לשליחת מייל (SMTP)…
    היי,
    רציתי לדעת האם ישנם שרתים חינמים אשר תומחים בSMTP כדי שאני אוחל לשלוח דוא"ל אל תיבות איימייל….

    תודה מראש..!

  7. או אולי שרת שתומך ב-CDONTS ?
    משהו מכיר?!

  8. יש בכלל שרת כזה?!

    ולמנהלים, אני מצטער שלא שרשרתי את ההודעות שלי…
    זה לא יקרה שוב…

  9. אם אני זוכרת נכון
    מישהו פעם אמר ש-websamba תומך.
    חוץ ממנו (אם הוא עדיין תומך…) לא נראה לי שיש עוד.

  10. ניר טייב הגיב:

    אני
    ונראה לי שהוא עדיין תומך. אני לא בטוח שב-CDONT אבל אני בטוח שהוא תומך ב-CDO

  11. חבר’ה עשיתי בדיקה לWEBSAMBA ותראו!!
    השתמשתי בקוד שלי בכדי לבדוק במה השרת של WEBSAMBA תומך וראו את התוצאות!

    תוצאות:

    Domain freehost02.websamba.com
    Server Software Microsoft-IIS/5.0
    MDAC Version 2.5
    VBScript Version 5.6
    CDONTS Installed קיימת
    XMLHTTP Installed קיימת

    שיימו לב לשורה לפני אחרונה!!
    רשום ש-cdonts קיימת בWEBSAMBA !!
    זתומרת שאני יכול להשתמש באוביקט זה בכדי לשלוח אלי מייל!!

    האם אני צודק?

    בכול אופן אני ינסה ויגד לכם אם זה עובד או לא…

  12. jonatan44 הגיב:

    זה שהאוביקט מותקן זה לא אומר שאפשר
    להישתמש בו

  13. שייט שייט שייט ועוד פעם שייט!
    אפילו לאחר שבדקתי ש-WEBSAMBA תומך ב-CDONET אז הוא לא שולח

    כלומר, יצרתי אוביקט והכול הפעלתי את הדף ששולח והוא אומר שהוא שלח, כלומר לא הופיעה לי שגיאה…

    אבל לא קיבלתי מייל לדוא"ל….

    אולי הקוד שלי לא טוב?!

    הינה תראו:


    <%
    Dim objCDO
    Set objCDO = Server.CreateObject("CDONTS.NewMail")

    objCDO.To = "ajgds@dfhdjfh"
    objCDO.From = "MyMail@walla.co.il"

    Dim txtSubject
    txtSubject = "My New Subject!"

    objCDO.Subject = "I am BLA BLA"
    objCDO.Body = txtSubject

    objCDO.Send
    Set objCDO = Nothing
    %>
    <center><h1>המייל נשלח בהצלחה</h1></center>

    ואני בכוונה עכשיו שינתי את השורה של הנשלח…
    בכדי שלא יציפו אותי המיילים…(את השורה הזו: objCDO.To = "ajgds@dfhdjfh" )

    אז הקוד תקין או לא?

  14. גם לא עובד…
    הינה עשיתי ככה:


    <%
    Dim objCDO
    Set objCDO = Server.CreateObject("CDONTS.NewMail")

    objCDO.To = "ajgds@dfhdjfh"
    objCDO.From = "MyMail@walla.co.il"

    Dim txtSubject
    txtSubject = "My New Subject!"

    objCDO.Subject = "I am BLA BLA"
    objCDO.Body = txtSubject

    objCDO.Send
    Set objCDO = Nothing
    %>
    <center><h1>המייל נשלח בהצלחה</h1></center>

  15. אופס תיקון קוד…..
    זה היה הקוד הקודם….

    הינה זה הקוד עם CDO שלא עובד….


    <%
    Dim objCDO
    Set objCDO = Server.CreateObject("CDO.NewMail")

    objCDO.To = "ajgds@dfhdjfh"
    objCDO.From = "MyMail@walla.co.il"

    Dim txtSubject
    txtSubject = "My New Subject!"

    objCDO.Subject = "I am BLA BLA"
    objCDO.Body = txtSubject

    objCDO.Send
    Set objCDO = Nothing
    %>
    <center><h1>המייל נשלח בהצלחה</h1></center>

  16. ניר טייב הגיב:

    אני רואה שלא נכנסת לאתר
    שהבאתי לך !
    CDO זה אובייקט דואר חדש שיש אותו ב-WIN 2K (+)
    http://www.ilopia.com/Articles/WindowsServer2003/CDO.aspx

  17. cdosys, אתה מתכוון
    CDO זה האובייקט הישן.

    ואם יבוא לך פעם לכתוב מאמר כזה בעברית – זה יהיה נחמד

  18. ניר טייב הגיב:

    האמת היא
    שהשיטות של האובייקט הן בדיוק (רובן לפחות) אותו דבר כמו של CDONT
    רק צריך לשנות את יצירת האובייקט

    dim oMail
    oMail = Server.CreateObject("CDO.message")

    אני יודע שזה האובייקט המותקן ב-WIN 2K+ וב-XP

שלח תשובה