409
צפיות
צפיות
19
תשובות
תשובות
אפשר לקבל הסבר בבקשה?!
היי,
דפדפתי בספר שלי על ASP ובמקרה ראיתי באחד הדפים דף שמדבר על אוביקט error, הבנתי שהוא נוצר מעצמו כאשר מתגלת שגיאה בדף…
אבל לא יותר מזה….
ראיתי פה כול מיני קודים על זה כמו:
e.aspcode
e.description
וכו'…. בקיצור אין לי מושג מה האובייקט הזה עושה בכלל!!
אשמח אם משהו יסביר לי על כך בהרחווה..
תודה מראש!!
19 תשובות
האובייקט 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
זה לא אותו הדבר.
ERROR הוא אובייקט ASP בדיוק כמו Response ו Request, מה שאומר, כמובן, שניתן להשתמש בו בלי קשר לשפת הסקריפט איתה אתה עובד.
כתבתי את שפת צד השרת כדי
שלא ישאל אחר כך מה TRY ו-CATCH ב-VBS כאשר אין את זה
ב-VBS
אתה פשוט עושה on error resume next, לא?
אני כבר ממש לא זוכר איך אתה שולף את השגיאה (אם קרתה). נראה לי שזה מאוכסן ב-Err.
אגב – אני לא יודע אם זה יעבוד גם ב-VBS, אבל ב-VB אפשר גם לעשות on error goto funName…
נכון…
אבל לפי הידוע לי טיפול שגיאות בשיטה של JS יותר טובה משל VBS
השיטה הזו הולכת גם בשפות תכנות אחרות C++ ו-JAVA
שאלה בקשר לשליחת מייל (SMTP)…
היי,
רציתי לדעת האם ישנם שרתים חינמים אשר תומחים בSMTP כדי שאני אוחל לשלוח דוא"ל אל תיבות איימייל….
תודה מראש..!
או אולי שרת שתומך ב-CDONTS ?
משהו מכיר?!
יש בכלל שרת כזה?!

ולמנהלים, אני מצטער שלא שרשרתי את ההודעות שלי…
זה לא יקרה שוב…
אם אני זוכרת נכון
מישהו פעם אמר ש-websamba תומך.
חוץ ממנו (אם הוא עדיין תומך…) לא נראה לי שיש עוד.
אני
ונראה לי שהוא עדיין תומך. אני לא בטוח שב-CDONT אבל אני בטוח שהוא תומך ב-CDO
חבר'ה עשיתי בדיקה ל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 !!
זתומרת שאני יכול להשתמש באוביקט זה בכדי לשלוח אלי מייל!!
האם אני צודק?
בכול אופן אני ינסה ויגד לכם אם זה עובד או לא…
זה שהאוביקט מותקן זה לא אומר שאפשר
להישתמש בו
שייט שייט שייט ועוד פעם שייט!
אפילו לאחר שבדקתי ש-WEBSAMBA תומך ב-CDONET אז הוא לא שולח
כלומר, יצרתי אוביקט והכול הפעלתי את הדף ששולח והוא אומר שהוא שלח, כלומר לא הופיעה לי שגיאה…
אבל לא קיבלתי מייל לדוא"ל….
אולי הקוד שלי לא טוב?!
הינה תראו:
<%
Dim objCDO
Set objCDO = Server.CreateObject("CDONTS.NewMail")
objCDO.To = "[email protected]"
objCDO.From = "[email protected]"
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 = "[email protected]" )
אז הקוד תקין או לא?
נסה CDO
(מאמרים לWIN 2003 )
גם לא עובד…
הינה עשיתי ככה:
<%
Dim objCDO
Set objCDO = Server.CreateObject("CDONTS.NewMail")
objCDO.To = "[email protected]"
objCDO.From = "[email protected]"
Dim txtSubject
txtSubject = "My New Subject!"
objCDO.Subject = "I am BLA BLA"
objCDO.Body = txtSubject
objCDO.Send
Set objCDO = Nothing
%>
<center><h1>המייל נשלח בהצלחה</h1></center>
אופס תיקון קוד…..
זה היה הקוד הקודם….
הינה זה הקוד עם CDO שלא עובד….
<%
Dim objCDO
Set objCDO = Server.CreateObject("CDO.NewMail")
objCDO.To = "[email protected]"
objCDO.From = "[email protected]"
Dim txtSubject
txtSubject = "My New Subject!"
objCDO.Subject = "I am BLA BLA"
objCDO.Body = txtSubject
objCDO.Send
Set objCDO = Nothing
%>
<center><h1>המייל נשלח בהצלחה</h1></center>
אני רואה שלא נכנסת לאתר
שהבאתי לך !
CDO זה אובייקט דואר חדש שיש אותו ב-WIN 2K (+)
cdosys, אתה מתכוון
CDO זה האובייקט הישן.
ואם יבוא לך פעם לכתוב מאמר כזה בעברית – זה יהיה נחמד
האמת היא
שהשיטות של האובייקט הן בדיוק (רובן לפחות) אותו דבר כמו של CDONT
רק צריך לשנות את יצירת האובייקט
dim oMail
oMail = Server.CreateObject("CDO.message")
אני יודע שזה האובייקט המותקן ב-WIN 2K+ וב-XP