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

كيف اعمل throw Exception ؟

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

السلام عليكم

لو سمحتم ياشباب انا بعمل فصلية (Class) لعمل Stack وطبعا الـStack فيه وسيلة (method) اسمة pop وهي بترجع (return) اول كائن في الـStack ولكن اذا كان الـStack خالي فانها لابد من عمل throw Exception

وهذا هو كود الوسيلة

		public char pop()
		{
			if (this.IsEmpty())
				[Error  //throw Exception
			char t = this.myArray[this.top];
			this.top--;
			return t;	
		}

فكيف اعمل throw Exception خاص بفصيلة (class) الـStack ؟

ارجو ان اكون سؤلي واضح

وشكرا

#2

تعمل كلاس Class جديد (داخل الكلاس الذي ينتمي إليه) يرث Inherit من الكلاس System.Exception.

تم تعديل هذه المشاركة بواسطة System Down في 30 نوفمبر 2006 في 20:02

#3

السلام عليكم

اقتباس
تعمل كلاس Class جديد يرث Inherit من الكلاس System.Exception و يمكنك أن تضع في الـconstructor رسالة الخطأ.

رسالة الخطاء اضعها في اي ـconstructor هل للفصلية (class) التي سترث ام الفصلية System.Exception ؟

وان كانت System.Exception فكيف ؟

هذا ما فعلته ولكن ...

   public class StackEmptyException : System.Exception {
		public StackEmptyException(String erro)
		{
			// super(erro); //هذا الكود يصلح في الجافا فما هو البديل
		}
	}

شكرا علي الرد السابق

تم تعديل هذه المشاركة بواسطة قبل الاول في 30 نوفمبر 2006 في 20:17

#4

رسالة الخطأ تضعها في دالة تدعى message. طبعاً توجد دالة بهذا الاسم في الكلاس الموروث منه لذا يجب استخدام كلمة shadows عند تعربف الدالة.

أو يمكنك استخدام الـconstructor هكذا:

public class StackEmptyException : System.Exception {
		public StackEmptyException(): base("ErrorMesage")
		{
// other constructor code
	}
}

تم تعديل هذه المشاركة بواسطة System Down في 30 نوفمبر 2006 في 20:51

#5

انا اسف ممكن التوضيح اكثر من ذلك

وشكرا

تم تعديل هذه المشاركة بواسطة قبل الاول في 30 نوفمبر 2006 في 20:40

#7
	  public char pop()
		{
			if (this.IsEmpty())
			   throw new Exception("An Error Occured");
			char t = this.myArray[this.top];
			this.top--;
			return t;	
		}
#8

انا اسف علي كثيرة الاسئلة

بالنسبة لي pop كيف تكون مع الكلاس ؟

وشكرا علي تفعلك معي

#9

ماذا تقصد؟ يكون ضمن الكلاس؟

اذا كان هذا قصدك ضعه داخل كود الكلاس

#10

اقصد كيف تكون جملة throw Exception في Pop بمعني اني انتهيت من الكلاس خلص فكيف استدعي هذه الكلاس (throw Exception) في pop

ارجو ان اكون عرفت اوضح الموضوع

وشكرا

#12

انا اسف اخر سؤال

المستخدم الذي سيستخدم هذه الكلاس ، كيف يقوم باستدعاء هذا الـthrow Exception ليضعه في رسالة تحذير مثلا ؟

#13

إذا فهمت سؤالك صح أنت تريد كيفية التقاط هذا الخطأ من قبل المستخدم؟

في هذه الحالة يمكن إلتقاط الخطأ داخل بلوك Try..Catch

Try
	{
	//Code
	}
Catch (CustomException exc)
	{
	// Handle custom error
	}
Catch (Exception e)
	{
	// Handle other errors
	}

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

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