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

نام تاپیک: نحوه اطلاع از خطاهایی که برای برنامه در سیستم کاربر رخ داده

  1. #1

    نحوه اطلاع از خطاهایی که برای برنامه در سیستم کاربر رخ داده

    سلام - یه سوال اساسی
    چطور میشه وقتی یوزر داره برنامه رو استفاده میکنه، ممکنه بعضی قسمتا خطا بده، چطور میشه که اطلاعاتی درباره خطا برای من برنامه نویس! ارسال بشه؟ مثل خطایی که برا یوزر رخ داده، برام ایمیل بشه تا بعدا بتونم رفعش کنم
    یا این که روال کار اینطوره که یوزر باید متن خطا رو بفرسته برام تا من بتونم رفع کنم!؟
    از چی باید استفاده کنم؟ اولین باره وارد این مبحث شدم - اصلا نمیدونم باید از چی استفاده کنم

  2. #2

    نقل قول: نحوه اطلاع از خطاهایی که برای برنامه در سییستم کاربر رخ داده

    سلام دوست عزیز شبکه ای که استفاده میکنید چی هست.اینترنت یا اینترانت(داخلی)
    شمار میتونید با نوشتن try از خطا های احتمالی جلوگیری کنید و در همونجا با رعایت حقوق کاربرهاتون خطا های احتمالی رو دریافت کنید.البته بهتره که کاربر به اختیار خودش اینکار رو انجام بده تا از یکسری مشکلات جلوگیری بشه

  3. #3

    نقل قول: نحوه اطلاع از خطاهایی که برای برنامه در سییستم کاربر رخ داده

    اینترنت / خب یه دکمه باشه، وقتی خطایی رخ داد، در پنجره خطا یه دکمه باشه که اگه کاربر مثلا کلیکش کرد، خطا برام ارسال بشه - اینطوری حقوق کاربر هم رعایت میشه ( بدون اجازش کاری انجام نمیشه در پسزمینه ) و اگه بعد از فشرده شدن دکمه ارسال خطا، ویندوزش بلاک کرد نرم افزارو ( فایروال ویندوزش، آنتیویروس و... یا اصلا طرف نت نداشت )، به کاربر یه پیام نشون میدیم که بلاک شدیم و دسترسی به نت نداریم و از این جور داستانا و خودت این خطا رو به این آدرس ایمیل کن تا خطا رو رفع کنیم /
    خب حالا برای این کار کامپوننت آماده ای هستش؟ کامپوننتی که مایکروسافت از قبل تعبیه کرده باشه تو VISUAL-STUDIO ؟ چمیدونم یه چیز معروفی که همه ازش استفاده میکنن ( یا این که از این خبرا نی و باید خودم تمام کاراشو بکنم؟ )

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,432

    نقل قول: نحوه اطلاع از خطاهایی که برای برنامه در سییستم کاربر رخ داده

    از این خبرا نیست و خودت باید تمام کاراشو بکنی ،

    بهتره شما یه سیستم لاگ داشته باشی ، لاگ هایی که اتفاق می افته توی یک فال Text ذخیره کنی ، بعد از کاربر بخوای فایل رو برات بفرسته ، یا اینکه یه قسمت بزاری توی نرم افزارت ارسال خطاها که یه فرم باشه و دکمه و .. هرچیزی که نیاز داری

    بعدش با زدن اون دکمه فایل لاگ برات به صورت فشرده ایمیل بشه و این کار رو کاربر انجام بده

  5. #5

    نقل قول: نحوه اطلاع از خطاهایی که برای برنامه در سییستم کاربر رخ داده

    یه سوال - الان خطا مثل عکس زیر برا کاربر رخ داده، میشه تو هیمن پنجره فوق، یه گزینه اضافه کرد با عنوان ارسال خطا به نویسنده؟

    یا مثلا یه فرم جدید طراحی کرد برای نمایش خطا های رخ داده و خطایی رخ داد، فرم خطا مخصوص که طراحی کردیم، اون نمایش داده بشه؟

    یا این که خطا رخ داد، برنامه رو میبنده و میره فایل LOG رو برام ایمیل میکنه؟ ( میره تو منو HELP برنامه و ایمیل منو پیدا میکنه و بعد ایمیل میکنه! وگرنه ایمیل منو که حفظ نی )
    یا مثلا تو همون منو HELP یه گزینه میزارم با عنوان ایمیل فایل LOG ( خطاهای رخ داده ) به نویسنده.

    1.jpg

  6. #6
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    35
    پست
    571

    نقل قول: نحوه اطلاع از خطاهایی که برای برنامه در سییستم کاربر رخ داده

    سلام بدون کرونا به همه
    یه نکته ای اول بگم قاعدتا داریم در مورد اکسپشن های پروگرم صحبت میکنیم و خطاهای که مربوط به فئیل سیستم باشه قضیه اش متفاوته و با این روش ها نمیشه کنترل کرد.

    و اما بعد، کمپوننت آماده ای که نیست یا حداقل خود ویژوال استودیو برای ویندوز فرم نداره اما میشه خطا رو سفارشی (Custom Exception) که از کلاس اسکپشن ارث میبره در حد دریافت متن خطا (اینر دیتا) و نمایش پیام سفارشی اینها ولی به این مسیج که عکسش رو گذاشتی نمیشه دکمه ای اضافه کرد. چون اساسا کلاس اکسپشن ویژگی هایی مانند دیتا و اینتر مسیج و تارگت و البته لینک راهنما داخلش هست و متاسفانه مثل مسیج باکس به ما امکان انتخاب دکمه های پیام رو نمیده. (داخل پارانتر یه کم دستمون تو WPF بازتره نسبت به ویندوز فرم)

    دو تا راه نمایش هست:
    *** راه اول اینه داخل بخش اکسپشن مسیج باکس ویندوز رو نمایش بدین (MessageBox.Show) که چندتا اینام داره برای انتخاب دکمه ها! ولی دکمه هاش محدوده !
    *** راه دومش اینه یه فرم مخصوص درست کنین. خودتون دکمه های مورد نظر رو داخل بذارین. متن خطا رو هم که از اکسپشن دریافت کنین به فرمت مورد نیاز نمایش یا ذخیره یا ارسال کنین.

    !!! میتونین تو بک گراند یه پینگ بگیرین و اگه اینترنت وجود داشته ایمیل کنین اگه نبود تو یه فایل ذخیره کنین یا یه کم حوصله و سلیقه به خرج بدین کلاس و آبجکت مدل تعریف کنین و ایکس ام ال کنین و ذخیره کنین. حالا ایتنکه یوزر خودش فایل رو برای شما بفرسته و یا دوباره یه چیزی بنیویسین که پوشه اکسپشن ها رو بخونه و اپلود کنه برای شما هم یه نکته دیگه است.

    برای اینکه بشه سوال شما رو بهتر جواب داد، لازمه ببینیم کجا میخوایم این اکسپشن ها رو مدیریت کنیم.
    حالت اول: آیا جاهای خاصی که میدونیم ترای کچ (try catch) بذاریم و تو بخش کچ اکسپن رو بگیریم و از دیتای داخل اکسپن که تو کچ به دست میاد استفاده کنیم مثلا یه تابعی ارسال به ایمیل یا ذخیره در فایل و ... اونجا فراخوانی بشه.



    try
    {


    }
    catch (Exception ex)
    {
    // تابع شما برای استفاده ex
    throw;
    }



    البته یه چیزی! بعد از ترای کچ، یه استپ هم هست فاینالی اونم گاهی به کار میاد Finally. که در هر دو صورت تراک و کچ این بخش فاینال اجرا میشه.

    حالت دوم: کل اکسپشنهای اپلیکیشین ثرد رو یه جا هندل کنین
    Application[COLOR=var(--black-750)].[/COLOR]ThreadException
    ائونت رو بسازین و داخل تابع مورد نظر رو فراخوانی کنین. این کار باید تو پروگرم اصلی برنامه انجام بشه که مربوط به خطاهای ثرد اصلی و فرم و گرافیک و اینهاست.

    اگر برنامه تون مولتی ثرد هستش، یه ائونت دیگه رو هم باید هندل کنین به نام appdomain.unhandled expetion.

    در اخر یاداوری کنم وقتی به روش دوم (از پایه) همه اکسپشن ها رو هندل میکنین دیگه ترای کچ که به روش اول نوشتین تحت کنترل نیست.
    آخرین ویرایش به وسیله taghvajou : پنج شنبه 07 فروردین 1399 در 17:01 عصر دلیل: متن کدها و کلمات انگلیسی به هم ریخته میشه همش


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

  1. پاسخ: 1
    آخرین پست: چهارشنبه 12 شهریور 1393, 23:22 عصر
  2. پاسخ: 26
    آخرین پست: یک شنبه 19 مرداد 1393, 21:36 عصر
  3. راهنمایی درباره uml سیستم بانک
    نوشته شده توسط sonia2011 در بخش تحلیل و طراحی نرم افزار
    پاسخ: 2
    آخرین پست: دوشنبه 16 خرداد 1390, 23:42 عصر
  4. شناسایی هوک هایی که روی سیستم قرار داده شده ؟
    نوشته شده توسط __Genius__ در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: پنج شنبه 07 آبان 1388, 13:25 عصر
  5. سوال: جابجایی پایگاه داده از یک سیستم یه سیستم دیگه ؟
    نوشته شده توسط Anaswer در بخش SQL Server
    پاسخ: 7
    آخرین پست: چهارشنبه 01 آبان 1387, 18:15 عصر

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

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