القاء القبض جافا والاستثناءات

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

 # exception.toString () # 
  

GetException () باسترداد استثناء الأخيرة التي وقعت لmyObject. Exception.toString () تحصل على الرسالة التي يمكن عرضها للمستخدم. CFSCRIPT يحتوي أيضا على قدرة محدودة لأداء معالجة الاستثناء. بدلا من استخدام CFTRY وCFCATCH ، يمكنك استخدام ومحاولة اللحاق المصطلحات في كتلة CFSCRIPT ، على النحو التالي :

 حاول (oExcel = CreateObject ( "كوم" ، "Excel.Application") ؛) الصيد (أي استثناء) (WriteOutput ( "حدث خطأ أثناء instantiating كائن كوم. com عاد رسالة الخطأ التالية : # # exception.Message) ؛ ) 

إذا لم يتم تثبيت التفوق على ملقم كولد فيوجن الذي ينفذ في المثال السابق ، CreateObject () سيرمي خطأ أنه بعد ذلك سوف يتم ضبطهم من قبل كتلة المصيد. احظ الفرق بين الجملة والجملة CFCATCH الصيد. داخل CFSCRIPT ، يمكنك تحديد الكلمات الرئيسية الصيد ، تليها نوع استثناء ، متبوعا باسم الكائن استثناء. الكائن الاستثناء هو ما يعادل هيكل CFCATCH استخدمته سابقا في هذه المقالة. ولسوء الحظ ، CFSCRIPT في التعامل مع استثناء محدود لأنه لا توجد طريقة لرمي خطأ مخصصة ، وليس هناك طريقة لrethrow خطأ مرة واحدة كنت قد أمسكوا بها . CFTRY وCFCATCH مفيدة للأخطاء معينة التي تحدث في الجزء المستهدف من التعليمات البرمجية. ومع ذلك ، يمكنك أيضا التقاط أي الخطأ الذي يحدث في التطبيق الخاص بك وتمرير التحكم إلى معالج خطأ معمم الصفحة باستخدام العلامة CFERROR. CFERROR عادة ما توضع داخل Application.cfm. دعوة نموذجية يبدو كما يلي :

ان الدعوة الى CFERROR كولد فيوجن يروي أنه إذا غير مسك أي استثناء من أي نوع كان يحدث في التطبيق الخاص بك ، فإنه يجب إعادة توجيه المستخدم إلى error.cfm. وهذا مشابه لنوع CFCATCH = "أي" التي تعيد توجيه المستخدم إلى صفحة الخطأ ، ولكن CFERROR يغطي كل رمز في التطبيق الخاص بك بدلا من مجرد استهداف كتلة واحدة ، وهذا النهج مزاياه ، لأنك الآن تستطيع إعطاء المستخدم الصديقة صفحة خطأ للمستخدم بغض النظر عن المكان الخطأ قد يكون قد حدث. والحرمان من استخدام CFERROR في حد ذاته هو أن تشخيص الخطأ هو أكثر صعوبة بكثير ، لأنه لا يمكنك تحديد الموقع بسهولة. افضل ما لديكم بالطبع هو استخدام CFTRY وCFERROR معا ، وضع CFTRY في مجالات محددة من الشفرة الخاصة بك ، ثم الاعتماد على CFERROR أخطاء غير متوقعة لأنه لا يمكن التعامل معها باعتبارها استثناءات. CFERROR كلما واجه خطأ ، فإنه يمر تنفيذ الصفحة إلى القالب المحدد في السمة قالب. صفحة الخطأ لديه حق الوصول إلى المعلومات حول الخطأ ، وكذلك كل محتوى ولدت ليصل إلى النقطة التي وقوع الخطأ. هي فكرة جيدة لاستخدام القالب الخطأ إلى البريد الإلكتروني والمسؤول عن الموقع ، يرسل له كل المعلومات عن الخطأ ، ومن ثم لإخراج سهلة الاستعمال رسالة الخطأ التي يتكامل مع المعالجة الرسومية العادية لموقعك. رمز يدل على جيدة وكتبت صفحة الخطأ.

 حدث خطأ أثناء تجهيز القالب # Error.TagContext [1]. قالب # # في خط Error.TagContext [1]. الخط #. المعلومات التشخيصية التالية : نوع خطأ : # # Error.RootCause.Type الصفحة المرجعية : # # Error.HTTPReferer رسالة خطأ : # # Error.RootCause.Message خطأ التفاصيل : # # Error.Rootcause.Detail  حدث خطأ أثناء طلبك. يرجى المحاولة مرة أخرى.

على سبيل المثال CFERROR أن نعرض لكم في بداية هذا الجزء سمة استثناء. CFERROR لاستثناء السمة هي مشابهة لCFCATCH من نوع السمة : وهو يروي كولد فيوجن النوع من الاستثناء الذي يؤثر على سمة CFERROR. لنفترض ، على سبيل المثال ، أن يكون لديك دعوات لCFERROR التالية :


   

كولد فيوجن بتسجيل كافة الأخطاء التي تحدث في التطبيق الخاص بك. يمكنك الحصول على التاريخ من كل أخطاء في التطبيق عن طريق عرض ملفات السجل ورؤية ما حدث عندما ، ويتم تخزين ملفات السجل داخل cf_root \ سجلات \ الدليل. ملف السجل الذي يجب أن تكون هي المعنية أكثر من غيرها مع Application.log ، الذي يحتوي على الأخطاء التي تحدث في التطبيق الخاص بك. يمكنك تتبع خطأ من خلال النظر في ملفات السجل والعثور على السجل ، وحتى الأخطاء التي وقعوا مع CFCATCH أو CFERROR يتم تخزينها في Application.log ، بحيث يمكنك مشاهدة ما حدث بالضبط حتى لو CFCATCH يحجب الخطأ. يمكنك ايضا ان تكتب الرسائل الخاصة بك إلى ملفات السجل باستخدام CFLOG على النحو التالي :

أن يكتب رسالة إلى ملف يسمى MyLog.Log داخل cf_root \ سجلات \ الدليل. هذا يمكن ان يكون مفيدا جدا لحالات معينة في الإشكالية التي تريد سجل خطأ معينة. عدم تسجيل كل الخطأ الذي يحدث لأن القيام بذلك دون داع أعباء الخادم. كولد فيوجن يقدم مجموعة واسعة من تقنيات معالجة الاستثناء ، من CFTRY وCFCATCH إلى جميع المواقع يشمل نطاق معالج خطأ. كل تقنية يمكن أن تكون قوية في حد ذاتها ، ولكن فقط عند هؤلاء الثلاثة هم وبذكاء متكاملة لا تصل إلى الإمكانات الكاملة للكولد فيوجن في إطار معالجة الاستثناء ، وفي هذا المقال سنتعرف على طرق مختلفة لاستخدام كولد فيوجن في إطار معالجة الاستثناءات وكيفية عمل مختلف قطعات معا. يمكنك أيضا التعرف على أنواع كثيرة من الأخطاء التي يمكن أن يتم طرح واشتعلت مع CFCATCH وCFERROR ، حتى وأنت تعلم كيفية إنشاء المخصصة الخاصة بك أنواع الخطأ التي يمكنك استخدامها للأغراض الخاصة بك.

مقال مقدم من العريس Buttler


تنويه :موقعنا على الانترنت ليست مسؤولة عن محتوى هذه المادة. Webarticles هو حر للمعلومات.
المهم : هذه المادة "وإلقاء القبض جافا الاستثناءات" وقد ترجم من قبل البرمجيات التلقائي. نشعر بالاسف من اجل أي الأخطاء الإملائية التي قد حدث. شكرا لتفهمكم.


Online: 201 users browsing the articles directory   


  

|