اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

اثر پروانه‌ای نام پدیده‌ای است که به دلیل حساسیت سیستم‌های آشوب‌ناک به شرایط اولیه ایجاد می‌شود. این پدیده به این اشاره می‌کند که تغییری کوچک در یک سیستم آشوب‌ناک چون جو سیارهٔ زمین (مثلاً بال‌زدن پروانه) می‌تواند باعث تغییرات شدید (وقوع توفان در کشوری دیگر) در آینده شود.

ایده‌ٔ این‌که پروانه‌ای می‌تواند باعث تغییری آشوبی شود نخستین بار در ۱۹۵۲ در داستان کوتاهی به نام آوای تندر اثر ری بردبری مطرح شد. عبارت «اثر پروانه ای» هم در ۱۹۶۱ در پی مقاله‌ای از ادوارد لورنتس به وجود آمد. وی در صد و سی و نهمین اجلاس ای‌ای‌ای‌اس در سال ۱۹۷۲ مقاله‌ای با این عنوان ارائه داد که «آیا بال‌زدن پروانه‌ای در برزیل می‌تواند باعث ایجاد تندباد در تکزاس شود؟»

آخرین نظرات
  • ۱۳ بهمن ۰۱، ۱۵:۳۱ - حسنا سادات و سما سادات
    عالی

۲ مطلب با کلمه‌ی کلیدی «finally» ثبت شده است

  • ۱
  • ۰

بیان try-catch-finally

یک کاربرد عمومی از catch و finally به همراه هم، برای بدست آوردن و استفاده از منابع در بلوک try، دست و پنجه نرم کردن با شرایط استثنایی در بلوک catch و آزاد کردن منابع در بلوک finally می باشد.

برای اطلاعات و مثال های بیشتر در زمینه دوباره پرتاب سازی خطا ها به تاپیک های try-catch و "پرتاب استثناها" مراجعه کنید.

مثال

public class EHClass
{
    void ReadFile(int index)
    {
        // To run this code, substitute a valid path from your local machine
        string path = @"c:\users\public\test.txt";
        System.IO.StreamReader file = new System.IO.StreamReader(path);
        char[] buffer = new char[10];
        try
        {
            file.ReadBlock(buffer, index, buffer.Length);
        }
        catch (System.IO.IOException e)
        {
            Console.WriteLine("Error reading from {0}. Message = {1}", path, e.Message);
        }

        finally
        {
            if (file != null)
            {
                file.Close();
            }
        }
        // Do something with buffer...
    }
}

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

بلوک فاینالی برای پاکسازی هرگونه منابع اختصاص یافته در بلوک try مفید است. همچنین اجرای هرگونه کدی که باید حتما" اجرا شود، حتی اگر استتثنایی وجود داشته باشد. کنترل اجرای برنامه همیشه به بلوک finally تحویل داده می شود، صرف نظر از اینکه بلوک try چگونه پایان می پذیرد.

از آنجایی که بلوک catch برای مدیریت خطاهایی است که در یک بلوک دستور اتفاق می افتند، finally تضمین می کند که بلوکی از دستورها فارغ از اینکه بلوک try قبلی چطور تمام شده (باخطا یا بی خطا)، اجرا شود.


try{
    Commands List
}catch(Exception1 e1){
    Commands List
}catch(Exception2 e2){
    Commands List
}catch(ExceptionN eN){
    Commands List
}finally{
    Commands List
}


#c همچنین دستور using را که املای (syntax) راحتری نسبت به try-finally دارد، ارائه می دهد.

در مورد کلیدواژه using بعدا توضیح خواهم داد.

  • غلامعلی حسینی بهجانی