שפה C#
יש לי קלאס שבודק מול ה'דאטה בייס' האם נתון קיים או לא
(SQL, שאילתא פשוטה של if exists
שמחזיר yes/no
)
שמיועד עבור 'אירועים' במערכת שמבצעים עדכון נתונים במסד הנתונים,
למניעת דריסת נתונים בשגגה ע"י המשתמש הנוכחי
(כגון: הנתון עודכן ע"י משתמש אחר במערכת)
הפונקציה בקלאס מחזירה string
שאותו אני בודק ב IF עצמו
למניעת שגיאות זמן ריצה הפונקציה מכילה try/catch
אני מעוניין
במידה ואכן היה תקלה בבדיקה ( catch
)
לעצור את המשך הקוד דרך הפונקציה / הקלאס
אבל פחות מעוניין לעשות זאת בכל עשרות המקומות בקוד
(if מקונן של שתי אפשריות )
מצורף דוגמת לינקפד
void Main()
{
TextBox tb = new TextBox();
tb.Dump();
Check_info ci = new Check_info();
tb.Click += (s, e) =>
{
if (tb.Text.Length > 0)
{
if ("yes" == ci.CheckGiven_resul(tb.Text))
{
"value found, no update made".Dump();
return;
}
"send update query".Dump();
}
};
}
class Check_info
{
public string CheckGiven_resul(string query)
{
string res;
try
{
if (int.Parse(query) % 2 == 0)
{
res = "yes";
}
else
{
res = "no";
}
}
catch
{
res = "error";
}
return res;
}
}
התוצאה הרצויה בדוגמא
שאם הוזן טקסט (ולא מספר)
לא יודפס לי "send update query"
אלא יבוצע משהו מקביל לreturn