بسم الله الرحمن الرحيم
كل عام وأنتم بخير
عندما نريد أن نتفادي خطأ ما نضعه في جملة if هكذا
if (!RegisterClassEx (&wincl))
return 0;لكن كيف أتفادي خطأ داخل شرط داخل شرط آخر مثل:
if(x == 1)
{
statment
}أنا في المثال السابق أشك في احتمال خطأ في الجملة statment
فماذا أفعل لقد فكرت في هذا الحل
if(x == 1)
{
if( !statment())
{
MessageBox(NULL, "fail", "fail", MB_OK);
}
else
{
MessageBox(NULL, "succeed", "succeed", MB_OK);
}
}لكن الحل السابق يوجد به مشكلة ماذا إذا كان الكود كبير و يتكون من عدة سطور بينما شرط if يتكون من سطر واحد
أنا أيضا فكرت ووجدت حلا لكن لست متأكدا منه وهو أن أضع أوامري في دالة ثم أضع الدالة في شرط if وهكذا أضمن تنفيذ التحقق من الشرط :-
if(x == 1)
{
if(!functoin())
{
MessageBox(NULL, "fail", "fail", MB_OK);
}
else
{
MessageBox(NULL, "succeed", "succeed", MB_OK);
}
}
void functoin()
{
/* السطر الأول
السطر الثاني
الثالث الرابع */
}لكني لست متأكدا من هذا السطر
if(!functoin())
أنا آسف علي هذا السؤال الطويل لكنه مهم لتفادي الأخطاء
لكن هذا السؤال الذي يبدو صعبا ما هو إلا خوارزمية بسيطة بالنسبة لخبراء منتدانا :lol:
لدي أيضا سؤال اخر هل إذا تركت الكود بدون شرط if السابق وبدون الكلام الحمصي اللي فوق ده كله هل إذا حدث خطأ في الجزء الذي كان في شرط if عندها يتوقف البرنامج عن العمل أم يكمل شغله ويترك هذا الجزء