❞ مذكّرة محاضرات جافا-جامعة دمشق المحاضرة7 Exception Handling ❝  ⏤ عمار صرصر

❞ مذكّرة محاضرات جافا-جامعة دمشق المحاضرة7 Exception Handling ❝ ⏤ عمار صرصر

محاضرات كلية الهندسة لمعلوماتية - جامعة دمشق




تأليف : المهندس عمار صرصر


مقدمة عن لغات البرمجة

البرمجة البرمجة (بالإنجليزيّة: Programming) هي عبارة عن كتابة مجموعة من الأوامر، أو ما يُعرَف بالشيفرة (بالإنجليزيّة: Code) أو الكود، وهذه الأوامر هي التي تُشكِّل ما يُعرَف بالبرنامج (بالإنجليزيّة: Program)، فهي التي تقوده وتُحدِّد سلوكه. يُترجم جهاز الحاسوب أو الجهاز الإلكتروني هذه الأوامر ويُنفّذها.

لغات البرمجة تُستَخدَم في عمليّة البرمجة لُغات خاصّة تُعرَف بلغات البرمجة (بالإنجليزيّة: Programming languages)، وهذه اللغات تحمل مُفرداتٍ بالإضافة إلى قواعد معيّنة لإرشاد الجهاز الحاسوبي لتنفيذ مهام محدّدة. تحتوي كلّ لغة من لغات البرمجة على مجموعة من الكلمات الخاصّة (بالإنجليزيّة: Keywords) بالإضافة إلى طريقة معيّنة في الكتابة (بالإنجليزيّة: Syntax)، تُحدِّد كيفيّة تنظيم أوامر البرنامج.


class TestThrows
{
void B(int[] a, int i) throws NullPointerException,
ArrayIndexOutOfBoundsException,
ArithmeticException
{
System.out.println(100 / a[i]);
}
void test () {
try {
int[] a = {1,2,3,4};
this.B(a, 2);
}
catch (NullPointerException e) {
System.err.println(e);
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.println(e);
}
catch (ArithmeticException e) {
System.err.println(e);
}
catch (Exception e) {
... عمار صرصر - Ammar Sarsar - عمار صرصر
·
المهندس عمار صرصر قام بتدريس محاضرات جافا وبرمجة تطبيقات أندرويد عن طريق الإنترنت اعتماداً على آخر إصدار للأندرويد (Android Marshmallow) وفلسفة تصميم التطبيقات (Material Design ❰ له مجموعة من الإنجازات والمؤلفات أبرزها ❞ محاضرات جافا-جامعة دمشق 1 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة multithreading 9 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة8 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة9 ❝ ❞ محاضرات جافا-جامعة دمشق 2 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة7 Exception Handling ❝ ❞ محاضرات جافا-جامعة دمشق 5 ❝ ❞ محاضرات جافا-جامعة دمشق 4 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة 7 ❝ ❱
من كتب جافا كتب لغات البرمجة - مكتبة كتب تقنية المعلومات.

نبذة عن الكتاب:
محاضرات جافا-جامعة دمشق المحاضرة7 Exception Handling

محاضرات كلية الهندسة لمعلوماتية - جامعة دمشق




تأليف : المهندس عمار صرصر


مقدمة عن لغات البرمجة

البرمجة البرمجة (بالإنجليزيّة: Programming) هي عبارة عن كتابة مجموعة من الأوامر، أو ما يُعرَف بالشيفرة (بالإنجليزيّة: Code) أو الكود، وهذه الأوامر هي التي تُشكِّل ما يُعرَف بالبرنامج (بالإنجليزيّة: Program)، فهي التي تقوده وتُحدِّد سلوكه. يُترجم جهاز الحاسوب أو الجهاز الإلكتروني هذه الأوامر ويُنفّذها.

لغات البرمجة تُستَخدَم في عمليّة البرمجة لُغات خاصّة تُعرَف بلغات البرمجة (بالإنجليزيّة: Programming languages)، وهذه اللغات تحمل مُفرداتٍ بالإضافة إلى قواعد معيّنة لإرشاد الجهاز الحاسوبي لتنفيذ مهام محدّدة. تحتوي كلّ لغة من لغات البرمجة على مجموعة من الكلمات الخاصّة (بالإنجليزيّة: Keywords) بالإضافة إلى طريقة معيّنة في الكتابة (بالإنجليزيّة: Syntax)، تُحدِّد كيفيّة تنظيم أوامر البرنامج.


class TestThrows
{
void B(int[] a, int i) throws NullPointerException,
ArrayIndexOutOfBoundsException,
ArithmeticException
{
System.out.println(100 / a[i]);
}
void test () {
try {
int[] a = {1,2,3,4};
this.B(a, 2);
}
catch (NullPointerException e) {
System.err.println(e);
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.println(e);
}
catch (ArithmeticException e) {
System.err.println(e);
}
catch (Exception e) {
...
.
المزيد..

تعليقات القرّاء:

نظام الجافا

نظام أو لغة الجافا (بالإنجليزية: Java) هو من لغات برمجة الكمبيوتر، وهي لغة تمكن المبرمجين من كتابة تعليمات الكمبيوتر باستخدام أوامر باللغة الإنجليزية بدلاً من الكتابة بالرموز الرقمية، وتعد جافا لغة عالية المستوى، وذلك لأن الناس يستطيعون قراءتها وكتابتها بسهولة، فهي مثل اللغة الإنجليزية تمتلك مجموعة من القواعد التي تحدد كيفية كتابة التعليمات، وبعد عملية الكتابة تتم ترجمة التعليمات إلى رموز رقمية يفهمها الحاسوب، ويعمل على تنفيذها.
 
 

تاريخ إنشاء لغة جافا


أنشأت شركة "Sun Microsystems" نظام جافا، حيث قاد جيمس جوسلينج (بالإنجليزية: James Gosling) فريق من الباحثين، وذلك من أجل إنتاج لغة جديدة للأجهزة الإلكترونية المستخدمة، وفي عام 1991 بدأ العمل على إعداد اللغة، وبعد مرور فترة طويلة تحول انتباه الفريق إلى التركيز على الشبكة العالمية (بالإنجليزية: World Wide Web)، وفي عام 1995 تم إطلاق جافا لأول مرة، وتمكنت لغة جافا من إظهار التفاعل وتشغيل الوسائط المتعددة مع الويب.

في أواخر التسعينات، قامت لغة جافا بنقل الوسائط المتعددة إلى الإنترنت، ثم بدأت تنمو خارج نطاق شبكة الإنترنت، بما في ذلك الأجهزة الخلوية، وأجهزة الكمبيوتر المختلفة، ولكثرة مستخدمي جافا، فإن الشركة قامت بوضع أنواع مختلفة من لغات جافا، بحيث تخدم هذه الأنواع أغراضاً مختلفة، ومن ضمنها:

 • جافا "SE" لأجهزة الكمبيوتر المنزلية.

 • جافا "ME" للأجهزة ذات الأنظمة المدمجة أو المضمنة (بالإنجليزية: embedded devices).

 • جافا "EE" لخوادم الإنترنت (بالإنجليزية: Internet servers) والحواسيب العملاقة (بالإنجليزية: supercomputers).

ملاحظة: عام 2010 تولت شركة أوراكل "Oracle Corporation" إدارة جافا.

 

آلية عمل لغة جافا


تختلف طريقة عمل لغة جافا عن غيرها من لغات البرمجة، حيث يتم ترجمة التعليمات البرمجية إلى تعليمات معينة لجهاز الكمبيوتر بلغات أخرى، ومن الجدير بالذكر أن مترجم جافا يحول التعليمات البرمجية إلى "بيتيكود" (بالإنجليزية: Bytecode)، ثم يتم تفسيرها بواسطة برنامج (Java Runtime Environment / JRE)، أو جهاز جافا الظاهري (بالإنجليزية: the Java virtual machine)، حيث يعمل برنامج (JRE) كجهاز كمبيوتر ظاهري، ويقوم بتفسير البيتيكودات، ويترجمه للكمبيوتر، وتجدر الإشارة هنا إلى إمكانية كتابة التعليمات البرمجية بلغة جافا لعدة برامج، وهذا يعني الكتابة مرة واحدة، والتشغيل في أي جهاز، فعملية ترجمة الأوامر تستغرق عدة ساعات لتحميل عدد كبير من الملفات.

 

ميزات لغة جافا


يتم استخدام لغة جافا لإحتوائه على المميزات الآتية:

سهولة الاستخدام: تنبع أساسيات عمل جافا من لغة البرمجة التي تسمى (++C)، والتي تتصف بتعقيد تركيب الجمل، وعدم كفايتها لبعض متطلبات جافا، وبالتالي فإن تصميم جافا بني على تحسين لغة (++C)، وتوفير برمجة قوية وسهلة الاستخدام.

الموثوقية: تكشف جافا الأخطاء المحتملة في نظام البرمجة، عن طريق تجميع البيانات المتلاعب في أمرها.

الأمان: تعد جافا من أكثر لغات البرمجة أماناً.

الاستقلالية: تمتاز لغة جافا باستقلالية عملها، فهي غير متعلقة بنظام التشغيل، وأجهزة الكمبيوتر، والجهاز المعمول عليه.

 

لغات البرمجة المختلفة


جهاز الكمبيوتر يتعرف على المعلومات المقدمة لديه من خلال كتابتها بلغة البرمجة التي يفهمها الكمبيوتر، ويوجد العديد من لغات البرمجة غير لغة جافا، ومن أهمها:

لغة فورتران (Fortran).

لغة كوبول (Cobol).

 لغة باسيك (Basic).

لغة باسكال (Pascal). .

لغة C، و++C.

لغة بيرل Perl.

 محاضرات كلية الهندسة لمعلوماتية - جامعة دمشق 

    


      تأليف :  المهندس عمار صرصر

    
مقدمة عن لغات البرمجة 

البرمجة البرمجة (بالإنجليزيّة: Programming) هي عبارة عن كتابة مجموعة من الأوامر، أو ما يُعرَف بالشيفرة (بالإنجليزيّة: Code) أو الكود، وهذه الأوامر هي التي تُشكِّل ما يُعرَف بالبرنامج (بالإنجليزيّة: Program)، فهي التي تقوده وتُحدِّد سلوكه. يُترجم جهاز الحاسوب أو الجهاز الإلكتروني هذه الأوامر ويُنفّذها.

 لغات البرمجة تُستَخدَم في عمليّة البرمجة لُغات خاصّة تُعرَف بلغات البرمجة (بالإنجليزيّة: Programming languages)، وهذه اللغات تحمل مُفرداتٍ بالإضافة إلى قواعد معيّنة لإرشاد الجهاز الحاسوبي لتنفيذ مهام محدّدة. تحتوي كلّ لغة من لغات البرمجة على مجموعة من الكلمات الخاصّة (بالإنجليزيّة: Keywords) بالإضافة إلى طريقة معيّنة في الكتابة (بالإنجليزيّة: Syntax)، تُحدِّد كيفيّة تنظيم أوامر البرنامج.


"خطأ في معالجة" عمليات إعادة التوجيه هنا. لا ينبغي الخلط بينه وبين اكتشاف الأخطاء وتصحيحها .
هذه المقالة هي عن الحوسبة. للمعرفة، انظر التحقق من حقيقة و حل المشكلة .
معالجة الاستثناء هو عملية الاستجابة إلى وقوع خلال حساب ، من الاستثناءات - الظروف الشاذة أو الاستثنائية التي تتطلب معالجة خاصة - في كثير من الأحيان تغيير التدفق العادي لل برنامج التنفيذ . يتم توفيرها من خلال بنية لغة برمجة متخصصة ، وآليات أجهزة الكمبيوتر مثل المقاطعات أو مرافق IPC لنظام التشغيل مثل الإشارات .

بشكل عام ، يكسر استثناء التدفق العادي للتنفيذ وينفذ معالج الاستثناء المسجل مسبقًا . تعتمد تفاصيل كيفية القيام بذلك على ما إذا كان هو استثناء الأجهزة أو البرامج وكيفية تنفيذ استثناء البرنامج. قد يتم التعامل مع بعض الاستثناءات ، لا سيما الأجهزة منها ، بأمان حتى يمكن استئناف التنفيذ حيث توقفت.

النهج البديلة لمعالجة الاستثناء في البرنامج هي التحقق من الأخطاء ، والتي تحافظ على تدفق البرنامج العادي مع عمليات فحص صريحة لاحقة لحالات الطوارئ التي تم الإبلاغ عنها باستخدام قيم إرجاع خاصة أو بعض المتغير العالمي المساعد مثل C's errno أو علامات حالة النقطة العائمة ؛ أو التحقق من صحة الإدخال لتصفية الحالات الاستثنائية.


تتم معالجة آليات الاستثناء الأجهزة بواسطة CPU. الغرض منه هو دعم ، على سبيل المثال ، كشف الأخطاء ، وإعادة توجيه تدفق البرنامج إلى إجراءات خدمة معالجة الأخطاء. يتم حفظ الحالة قبل الاستثناء ، على سبيل المثال ، على المكدس.

الاستثناء / التعامل مع الأجهزة: IEEE 754 floating point 
تشير معالجة الاستثناءات في معيار الأجهزة ذات النقطة العائمة IEEE 754 بشكل عام إلى حالات استثنائية وتعرف الاستثناء بأنه "حدث يحدث عندما لا تكون هناك عملية في بعض المعاملات المعينة مناسبة لأي تطبيق معقول. قد تشير هذه العملية إلى استثناء واحد أو أكثر باستدعاء الافتراضي أو ، إذا طلب بشكل صريح ، مناولة بديلة محددة باللغة. "

بشكل افتراضي ، يكون الاستثناء IEEE 754 قابلاً للاستئناف ويتم التعامل معه عن طريق استبدال قيمة محددة مسبقًا للاستثناءات المختلفة ، على سبيل المثال اللانهاية لقسمة الاستثناء صفر ، وتوفير علامات الحالة للتحقق فيما بعد مما إذا كان الاستثناء قد حدث (راجع لغة برمجة C99 لنموذج عادي مثال على التعامل مع استثناءات IEEE 754). نمط التعامل مع الاستثناءات الذي تم تمكينه باستخدام علامات الحالة يتضمن: أولاً حساب تعبير باستخدام تنفيذ مباشر وسريع. التحقق مما إذا كان قد فشل عن طريق اختبار إشارات الحالة ؛ ثم ، إذا لزم الأمر ، استدعاء تنفيذ أبطأ وأكثر قوة من الناحية العددية. [2]

يستخدم معيار IEEE 754 مصطلح "ملائمة" للإشارة إلى استدعاء روتين معالجة الاستثناء المقدم من قبل المستخدم في ظروف استثنائية ، وهو ميزة اختيارية للمعيار. يوصي المعيار بعدة سيناريوهات استخدام لهذا ، بما في ذلك تنفيذ الاستبدال المسبق غير الافتراضي للقيمة متبوعًا بالاستئناف ، للتعامل بشكل فريد مع المفردات القابلة للإزالة . 
يتجنب سلوك الاستثناء الافتراضي للتعامل مع IEEE 754 للاستئناف بعد الاستبدال المسبق لقيمة افتراضية ، المخاطر الكامنة في تغيير تدفق التحكم في البرنامج على الاستثناءات العددية. على سبيل المثال ، في عام 1996 ، انتهت الرحلة الأولى من أريان 5 (رحلة 501) في انفجار كارثي يعود جزئياً إلى سياسة معالجة استثناء لغة البرمجة آدا من إجهاض الحساب على خطأ حسابي ، والتي كانت في هذه الحالة نقطة عائمة 64 بت إلى فائض تحويل عدد صحيح 16 بت . في حالة 501 طائرة Ariane ، قام المبرمجون بحماية أربعة من أصل سبعة متغيرات حرجة ضد الفائض بسبب المخاوف المتعلقة بالقيود الحسابية للكمبيوتر على متن الطائرة واعتمدوا على ما تبين أنه افتراضات غير صحيحة حول النطاق المحتمل للقيم ثلاثة متغيرات غير محمية لأنهم أعادوا استخدام الكود من Ariane 4 ، والتي كانت افتراضاتهم صحيحة.  وفقا لويليام كاهان ، كان من الممكن تفادي خسارة الرحلة 501 إذا تم استخدام سياسة الاستثناء الاستثنائية الخاصة بـ IEEE 754 من الاستبدال الافتراضي نظرًا لأن عملية التكرار الفائضة من 64 بت إلى 16 بت التي تسببت في إحباط البرنامج حدثت في جزء من التعليمات البرمجية التي تبين أنها غير ضرورية تمامًا على آريان 5. [3]وأشار التقرير الرسمي عن التحطم (الذي أجرته لجنة تحقيق برئاسة جاك لويس ليونز ) إلى أن "الموضوع الأساسي في تطوير آريان 5 هو التحيز نحو تخفيف الفشل العشوائي . مورد نظام الملاحة بالقصور الذاتي(SRI) كان يتبع فقط المواصفات المعطاة له ، والتي تنص على أنه في حالة وجود أي استثناء تم الكشف عن المعالج كان لا بد من وقفها. الاستثناء الذي حدث لم يكن بسبب فشل عشوائي ولكن خطأ في التصميم. تم اكتشاف الاستثناء ، ولكن تم التعامل معه بطريقة غير ملائمة لأن العرض قد تم اعتباره أن البرنامج يجب اعتباره صحيحًا حتى يظهر أنه على خطأ. [...] على الرغم من أن الفشل كان بسبب خطأ منهجي في تصميم البرمجيات ، يمكن تقديم آليات للتخفيف من هذا النوع من المشاكل. على سبيل المثال ، قد تستمر أجهزة الكمبيوتر الموجودة ضمن أجهزة SRI في تقديم أفضل تقديراتها للموقف المطلوبمعلومات. هناك سبب للقلق من أنه ينبغي السماح باستثناءات البرامج ، أو حتى المطلوبة ، لإيقاف المعالج أثناء التعامل مع المعدات الحساسة للمهمة. في الواقع ، فإن فقدان وظيفة البرنامج المناسبة أمر خطير لأن نفس البرنامج يعمل في كل من وحدات SRI. في حالة Ariane 501 ، أدى ذلك إلى إيقاف تشغيل وحدتين من المعدات الحرجة التي لا تزال حرجة. 

من وجهة نظر المعالجة ، تشبه المقاطعات للأجهزة الاستثناءات القابلة للاستئناف ، على الرغم من أنها لا تتعلق عادةً بتدفق التحكم في برنامج المستخدم


class TestThrows
{
void B(int[] a, int i) throws NullPointerException,
ArrayIndexOutOfBoundsException,
ArithmeticException
{
System.out.println(100 / a[i]);
}
void test () {
try {
int[] a = {1,2,3,4};
this.B(a, 2);
}
catch (NullPointerException e) {
System.err.println(e);
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.println(e);
}
catch (ArithmeticException e) {
System.err.println(e);
}
catch (Exception e) {
...


 


حجم الكتاب عند التحميل : 204.8 كيلوبايت .
نوع الكتاب : pdf.
عداد القراءة: عدد قراءة محاضرات جافا-جامعة دمشق المحاضرة7 Exception Handling

اذا اعجبك الكتاب فضلاً اضغط على أعجبني
و يمكنك تحميله من هنا:

تحميل محاضرات جافا-جامعة دمشق المحاضرة7 Exception Handling
شكرًا لمساهمتكم

شكراً لمساهمتكم معنا في الإرتقاء بمستوى المكتبة ، يمكنكم االتبليغ عن اخطاء او سوء اختيار للكتب وتصنيفها ومحتواها ، أو كتاب يُمنع نشره ، او محمي بحقوق طبع ونشر ، فضلاً قم بالتبليغ عن الكتاب المُخالف:

برنامج تشغيل ملفات pdfقبل تحميل الكتاب ..
يجب ان يتوفر لديكم برنامج تشغيل وقراءة ملفات pdf
يمكن تحميلة من هنا 'http://get.adobe.com/reader/'

المؤلف:
عمار صرصر - Ammar Sarsar

كتب عمار صرصر Ammar Sarsar - عمار صرصر · المهندس عمار صرصر قام بتدريس محاضرات جافا وبرمجة تطبيقات أندرويد عن طريق الإنترنت اعتماداً على آخر إصدار للأندرويد (Android Marshmallow) وفلسفة تصميم التطبيقات (Material Design❰ له مجموعة من الإنجازات والمؤلفات أبرزها ❞ محاضرات جافا-جامعة دمشق 1 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة multithreading 9 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة8 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة9 ❝ ❞ محاضرات جافا-جامعة دمشق 2 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة7 Exception Handling ❝ ❞ محاضرات جافا-جامعة دمشق 5 ❝ ❞ محاضرات جافا-جامعة دمشق 4 ❝ ❞ محاضرات جافا-جامعة دمشق المحاضرة 7 ❝ ❱. المزيد..

كتب عمار صرصر