السلام عليكــم ورحمـة الله وبركاتــه ،،
تم طرح الموضوع أساساّ في مناقشة ، في هذا الموضوع :
اقرأ المشاركات رقم ( ابتداءّ من الصفحة السابعة تقريباً ) .
الخلاصة :
- هل نستخدم الاستثناءات أو رسائل الأخطاء في محركات الألعاب وفي محرك الأندلس خصوصاً .
أعلم أن بعض الأخوة ناقش هذا الموضوع .. ولكن لامانع من التوسع فيه أو على الأقل التصويت في أعلى الموضوع حتى نتخذ قرار حاسم .
شخصيا أميل الى الاستثناءات لأنها توفر مرونة عالية في اقتناص الاخطاء :
int func_11()
{
}
int func_1()
{
..
.
.
func_11();
}
int main ()
{
try
{
func_1();
func_2();
func_3();
func_4();
}catch(exception e)
{
printf ( e.what() );
}
}بينما رسائل الأخطاء .. يجب أن نقوم بفحص الاخطاء بعد كل دالّة حتى لايحصل الخطأ ويغلق البرنامج قبل أن نصطاده :
int func_11()
{
}
int func_1()
{
..
.
.
func_11();
}
int main ()
{
try
{
func_1();
printf ( getLastError() );
func_2();
printf ( getLastError() );
func_3();
printf ( getLastError() );
func_4();
printf ( getLastError() );
}- من جهة أخرى .. الاستثناءات يقولون أنها بطيئة .. بالتالي رسائل الأخطاء أفضل ؟
- والخيار الثالث .. أن نجمع بين الطريقتين .. لكن كيف وعلى أي أساس .. هنا سنتعب كثيراً في هذا الموضوع .
- أخيرا .. هناك محركات عملاقة مثل Ogre تستخدم الاستثناءات .
- وهناك محركات ممتازة مثل irrlicht تستخدم طرق أخرى غير الاستثناءات .. ( مثل رسائل الاخطاء ) .



