• مقدمه

هنگامی که شروع به کدنویسی می‌کنید و در حال طراحی و پیاده‌سازی یک برنامه‌ی خاصی توسط یک زبان خاصی هستید، بلاشک درمیان راه با مشکلاتی روبرو خواهید شد که بدلایلی مانند حواس‌پرتی، عدم تسلط کافی و … باعث ایجاد خطا در عملکرد برنامه می‌شود؛ یا جتی ممکن است برنامه اصلاً Compile نشود!

یکی از تکنیک‌هایی که در هنگام برنامه‌نویسی باید به آن تسلط کافی‌ای داشته باشید، نحوه Debug کردن برنامه (اشکال‌زدایی) است. به‌صورت کلی ما دو نوع خطا داریم؛ Syntax Error (خطای نحوی) و Logic Error (خطای منطقی). یک کامپایلر و IDE (در اینجا یعنی Visual Studio) تنها می‌تواند خطاهایی که بدلیل نوشتن اشتباه کد و یا جا انداختن یک Semicolon را ردیابی کند (Syntax Error)، اما هیچ‌گاه نمی‌تواند که یک خطای منطقی مثل تقسیم یک عدد بر صفر را پیدا کند!

  • اشکال‌زادایی برنامه (Debugging) قسمت دوم

 یکی دیگر از خطاهای بسیار متداول، خطایی با نام Run-Time Error می‌باشد؛ که باعث می‌شود نرم‌افزار شما به اصطلاح Crash کند. خود برنامه در ابتدا بدون مشکل Compile و اجرا می‌شود و مشکلی نخواهید دید، اما مشکلی که ممکن است بعداً برای شما اتفاق بیفتد، Crash کردن برنامه شما در حین اجرا است که موجب می‌شود نرم‌افزار شما کارایی خود را از دست بدهد و دیگر قادر به ادامه انجام عملیات خود نباشد.

یکی از متداول‌ترین خطاهای فوق، سعی در تقسیم یک مقدار به «صفر» است! در کد زیر، همانطور که مشاهده می‌کنید ما در حال تقسیم یک مقدار به صفر است که باعث ایجاد خطای Run-Time می‌شود.

1-divide_by_zero

وقتی که برنامه را کامپایل می‌کنید، Visual Studio مشکلی را متوجه نخواهد شد و برنامه بدون هیچ ایرادی شروع به کار می‌کند؛ اما همین‌که بر روی button1 کلیک کنید، خواهید دید که خطایی به‌شکل زیر را مشاهده خواهید کرد:

2-divide_by_zero2

باتوجه به خطای فوق، می‌توان متوجه شد که مشکل ناشی از تقسیم عددی به صفر است، اما فرض کنید که این برنامه بر روی سیستم کاربری در حال اجرا است که چنین مشکلی بوجود می‌آید؛ چه هزینه‌ی سنگینی را باید تقبل کرد!

یکی دیگر از خطاهای ممکن و متدوال، خطای زیر است. در کد زیر، ما سعی می‌کنیم که فایلی را باز کنیم که در سیستم ما وجود ندارد. (آدرس داده شده اشتباه است!)

3-file_not_found

همانطور که در خطا می‌بینید، باز هم Visual Studio سعی در حدس اشتباه می‌کند و می‌گوید که فایلی با نام «test10.txt» در مسیر مورد نظر شما وجود ندارد! و چونکه ما به سی‌شارپ نگفته‌ایم که اگر فایلی را پیدا نکردی، چه‌کار کن؛ در نتیجه کنترل خود را از دست می‌دهد و Crash می‌کند!

خطاهایی شبیه به خطاهای فوق را می‌توان در هنگام کدنویسی از بروز آن‌ها جلوگیری کرد.

جهت دریافت این بخش آموزشی به صورت یک فایل PDF، کلیک کنید.

نظرات کاربران
اشتراک در
اطلاع از
10 نظرات
Reza
13 سال قبل

خـــــــــــــیلی طول کشید. همچنان منتظر pdf …
بازم تشکر.

علیرضا
13 سال قبل

با سلام و تشکر فراوان برای آموزشهای خوبتون من هر روز به این سایت سر می زنم و دنبال ادامه آموزش را می گیرم که خیلی دیر به دیر می گذارید .
بازم به خاطر زحمتتاتون ممنون

محمد
13 سال قبل

سلام. خیلی ممنون از آموزش های خوبتون. من چندوقته پیگیر آموزش های شما هستم و الان همشونو خوندم خیلی مفید و به کار میان. میخواستم ببینم آموزش شما چند جلسه ی دیگه داره و تقریبا تا کی کل آموزش تموم میشه. ممنووووووون

باران
13 سال قبل

سلام اقای موسوی شما مطلب یا مقاله یا تحقیقی درمورد موضوع ربات شطرنج باز سراغ ندارید؟ هرچی تو اینترنت سرچ میکنم چیزی پیدا نمیکنم

amir mir
12 سال قبل

با سلام. در ویژول استودیو C# , باتن روی فرم طراحی هنگامی که در متد آن باتن کد نویسی انجام میدم هنگام ران شدن برنامه باتن ها غیب می شوند و انگار باتنی button در فرم نگذاشتم مشکل کجاست؟ لطفا جواب رو یا ایمیل کنید یا هیچ

ویژوال استودیوی من 2010 و 2008 هست و در هر دو این اتفاق می افته کمک لطفا