نمایش نتایج 1 تا 8 از 8

نام تاپیک: ERROR های پیش بینی نشده در برنامه...

  1. #1

    ERROR های پیش بینی نشده در برنامه...

    با سلام خدمت اساتید عزیز
    آیا در برنامه میشه کاری کرد تا زمانی که در هنگام اجرای برنامه خطایی (کلا هر ERROR پیش بینی نشده ای ) پیش میاد بدون دادن هیچ پیغامی به کاربر کار خاصی را انجام بده (مثلا برنامه را ببنده).

    یا به طور کلی
    چطوری میشه ERROR های برنامه را در جای خاصی منعکس کرد تا به آنها رسیدگی کنیم.

  2. #2
    با
    try

    except

    end;

    Exceptions are handled within try...except statements. For example,

    try
    X := Y/Z;
    except
    on EZeroDivide do HandleZeroDivide;
    end;

  3. #3
    با این دستور می توان در مورد قسمتی از برنامه (دستورات) که امکان خطا پیش بینی می شود استفاده کرد
    اگر بخواهیم روتینی در کل قسمتهای یک برنامه (مثلا یک برنامه بزرگ اتوماسیون) فعال باشد (on error ....) فعال باشد آیا راه حلی است (که مثلا توسط پارامتر کدخطا و یا نام عبارت خطا را به آن روتین ارسال کرد و آن روتین براساس جدول کد خطاها عکس العمل مناسب داشته باشد)

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام
    آره امکانش هست
    فقط من خیلی وقت پیش این کارو کردم (2 سال پیش) برای همین درست یادم نیست
    تو فرم اصلی برنامه یه رویه ایجاد می کنی برای دریافت خطاها

        procedure GetError(Sender  : TObject; E : Exception);

    پیاده سازیش می کنی (مثلا) :

    procedure TForm1.GetError(Sender  : TObject; E : Exception);
    begin
    ShowMessage('Error is : "' + E.Message);
    end;


    و در رویداد Form.Create فرم اصلی روال دسترسی به خطاها رو به این رویه ارجاع می دی :

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    Application.OnException := GetError;
    end;


    حالا تو هر فرمی که خطایی روی بده این روال اونو مدیریت می کنه
    مثلا :

    procedure TForm2.Button1Click(Sender: TObject);
    var
    j : integer;
    x : string;
    begin
    x := 'ss';
    j := strtoint(x);
    end;


    فقط تو Try ... Catch کار نمی کنه (چون خودش خطا رو قبل از رسیدن به برنامه مدیریت می کنه)

    شرمنده بقیه اش یادم نیست :embr:
    امیدوارم بدردت بخوره

  5. #5
    فقط تو Try ... Catch کار نمی کنه (چون خودش خطا رو قبل از رسیدن به برنامه مدیریت می کنه)
    می تونید با استفاده از دستور raise استثناء پیش اومده رو به کنترل کننده سطح بالاتر ارسال کنید.
    در ضمن دلفی try...except داره، نه try...catch
    :wink:


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام

    در ضمن دلفی try...except داره، نه try...catch
    درسته آقای کشاورز :oops: چون من چند وقتیه که .NET می نویسم

  7. #7
    ممنون از راهنماییتان (بسیار کارم رو راه انداخت) :موفق:

  8. #8
    با تشکر از آقای majid_afra222
    :sunglass:

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: دوشنبه 01 بهمن 1386, 16:00 عصر
  2. HTTP Error 500 Internal server error
    نوشته شده توسط bkhayatian در بخش Classic ASP
    پاسخ: 5
    آخرین پست: جمعه 21 دی 1386, 16:27 عصر
  3. Syntax error in FROM clause error '80040e14'
    نوشته شده توسط zizi_zizi69 در بخش Classic ASP
    پاسخ: 3
    آخرین پست: دوشنبه 10 مهر 1385, 17:28 عصر
  4. SUS Sync error, Error 0x8007000D: The data is invalid
    نوشته شده توسط Lus در بخش شبکه و Networking‌
    پاسخ: 0
    آخرین پست: پنج شنبه 06 مرداد 1384, 16:02 عصر
  5. "Error 1609. An error occurred while appliying security
    نوشته شده توسط سمیه در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: سه شنبه 15 دی 1383, 11:23 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •