مشاركة عبر


كيفية القيام بما يلي: استخدم كتلة حاول/التقط كتلة لالتقاط الاستثناءات

ضع مقاطع التعليمات البرمجية التي قد تقوم بطرح استثناءات في كتلة try ثم ضع التعليمات البرمجية التي تعالج الاستثناءات في كتلة catch. كتلة catch عبارة عن سلسلة من عبارات تبدأ fالكلمة الأساسية catch، متبوعة بنوع الاستثناء والإجراء الذي سيتم تنفيذه.

ملاحظةملاحظة

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

يستخدم مثال التعليمات البرمجية التالي يستخدم المقطع محاولة/التقاط لالتقاط استثناء محتمل. يحتوي الأسلوب Main على كتلة try مع العبارة StreamReader التي تفتح ملف بيانات يسمي data.txt وتقوم بكتابة سلسلة علي الملف. لاحقاً كتلة try تكون كتلة catch والتي تلتقط أي استثناء ينتج من الكتلة try.

مثال

Option Explicit
Option Strict
Imports System
Imports System.IO
Imports System.Security.Permissions
<assembly: FileIOPermissionAttribute(SecurityAction.RequestMinimum, All := "c:\data.txt")>

Public Class ProcessFile
   Public Shared Sub Main()
      Try
         Dim sr As StreamReader = File.OpenText("data.txt")
         Console.WriteLine("The first line of this file is {0}", sr.ReadLine())
      Catch e As Exception
         Console.WriteLine("An error occurred: '{0}'", e)
      End Try
   End Sub
End Class
using System;
using System.IO;
using System.Security.Permissions;
// Security permission request.
[assembly:FileIOPermissionAttribute(SecurityAction.RequestMinimum, All = @"c:\data.txt")]
public class ProcessFile {
    public static void Main() {
        try {
            StreamReader sr = File.OpenText("data.txt");
            Console.WriteLine("The first line of this file is {0}", sr.ReadLine());    
        }
        catch(Exception e) {
            Console.WriteLine("An error occurred: '{0}'", e);
        }
    }
}

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

راجع أيضًا:

المهام

كيفية القيام بما يلي: استخدام استثناءات محددة في كتلة الالتقاط

كيفية القيام بما يلي: طرح استثناء بشكل صريح

كيفية القيام بما يلي: إنشاء استثناءات مُعرفة من قبل المستخدم

كيفية القيام بما يلي: استخدام كتل أخيراً

موارد أخرى

أساسيات معالجة الاستثناء