الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Try And Catch

مغلق
بدأه Lindsay في 4 يناير 2008 · 4 رد · 972 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي سؤال في Try And Catch

اذا كان عندي هذا الكود



int i=3;
if(x[i+1]==0)
MessageBox.show("Zero");
int[] x=new int[4];

في هذه الحاله راح يظهر Rum Time Error

وانا اريد استخدام التراي و الكاتش ولكن لا اريد اظهار رساله

خطا اريد البرنامج اذا ظهر مثل هذا الخطا يعتبر ان الشرط قيمته

False ويكمل البرنامج عادي

كيف ممكن اطبق هذه الفكرة ؟؟؟

#2

ﻷن أري في سي شارب التي حجمها n تبداء من الصفر وتنتهي بn+1 .

in your example

array size is 4

so start value will be 0 and top or end value will be 3

winter-main.jpg

6179.gif

#3

مشكور على الرد

لكن لم تفم قصدي انا فاهمه اني لما اعرف Array

int[] x=new int[4]

ان هذا معناه يوجد اربعه عناصر فقط في الاندكس 0,1,2,3

ومن الخطأ ان اكتب

x[4]=9;

بس انا حبيت اوضح سؤالي

فمثلا اذا كان عندي الكود التالي

for(int i=0;i<x.length;i++)
{
if(x[i+1]==0)
break;
}

كيف ممكن استخدم طريقه بحيث لو حدث وحصل Runtime Error

يعتبر الشرط ب False ويكمل البرنامج عادي

تم تعديل هذه المشاركة بواسطة Lindsay في 5 يناير 2008 في 17:11

#4
int[] x = new int[4];
bool flag = false;
try {
	int i = 3;
	if(x[i + 1] == 0)
		flag = true;
} catch (IndexOutOfRangeException ex) {
	flag = false;
} catch {
	MessageBox.Show("Catch Exception");
}

for(int i = 0; i < x.length; i++) {
	// التحقق من قيمة المتغيرالمضاف إلية 1 ما إذا كان اكبر من حجم المصفوفة ام لا
	if((i + 1) > x.Length)
		break;
	if(x[i + 1] == 0)
		break;
}

مواضيع متنوعة

#5

dr sara تسلم على الرد

Moudey

مشكوور وجزاك الله خير

هذا الموضوع مغلق.

مواضيع مشابهة