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

نام تاپیک: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

  1. #1
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    Exclamation جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    به نام خدا
    با سلام
    این سوال یکی از مهم ترین سوالات به نظر خود من است، در تصویر که ضمیمه کرده ام ، این شکل از ارور را میبیند، اگر بخواهیم با این ارور مقابله کنیم باید از try/catch استفاده کنیم ، حالا شما فرض کنید که برنامه ی ما چندین هزار خط کد دارد ، ما که نمی توانیم برای قسمت به قسمت از try/catch استفاده کنیم، حالا راه حل برای حذف کامل این ارور ها (وقتی برنامه را انتشار میدهیم، که کاربر دیگر به هیچ وجه این پیام ها را نبینید که کار ما لو برود) چیست؟
    famous_cs_error.jpg

  2. #2

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    سلام
    من نمیدونم ایا میشه این کارو انجام داد یا نه ولی اینو میدونم که مدیریت استثناها موضوع مهمیه و نمیشه ازش گذشت!
    اگه به کاربرت پیام مناسب رو نده از کجا بفهمه مشکل برنامه چیه ؟! به نظرم باید از try/catch استفاده کنی هرچند هزار خط که باشه !

  3. #3
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

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

  4. #4

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    سلام دوست عزیز

    شما در فایل Program.cs که نقطه شروع همه ی پروژه هاست در ابتدای تابع main کد زیر را اضافه نمایید:

    Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadExce  ption);


    سپس این متد را که متد event فوق هست را در پایین تابع main اضافه کنید.

    static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
    {
    MessageBox.Show(e.Exception.Message);
    }


    با این کار تمامی exception هایی که در برنامه رخ می دهد به این نقطه هدایت می شود و شما می توانید آن ها را مدیریت کنید.

    در ضمن کد بالا را اگه با تعریف event آشنایی داشته باشید می تونستید به این صورت تعریف کنید.

    Application.ThreadException بعد =+ بعد هم دوبار tab را بزنید.


    موفق باشید...

  5. #5
    کاربر دائمی آواتار hunter_ara
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران-قلهک
    پست
    136

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    نقل قول نوشته شده توسط armsoftpc مشاهده تاپیک
    به نام خدا
    با سلام
    این سوال یکی از مهم ترین سوالات به نظر خود من است، در تصویر که ضمیمه کرده ام ، این شکل از ارور را میبیند، اگر بخواهیم با این ارور مقابله کنیم باید از try/catch استفاده کنیم ، حالا شما فرض کنید که برنامه ی ما چندین هزار خط کد دارد ، ما که نمی توانیم برای قسمت به قسمت از try/catch استفاده کنیم، حالا راه حل برای حذف کامل این ارور ها (وقتی برنامه را انتشار میدهیم، که کاربر دیگر به هیچ وجه این پیام ها را نبینید که کار ما لو برود) چیست؟
    famous_cs_error.jpg
    1 سری از کد ها امکان خطا نداره ولی 1 سری دیگه مثل کار با فایل یا ... امکان خطای زیادی دارن!
    شما باید این طور کد ها رو داخل Try بزارید!
    نه این که کل برنامه رو داخل Try بزارید!
    این اصلا عاقلانه نیست!

  6. #6
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    شما باید این طور کد ها رو داخل Try بزارید!
    من همینه رو می گم و منظور این که فکر کن ، چقدر تعداد ترای/کچ ها زیاد میشه، در صورتی که من در php برنامه ای که نوشتم(بیش از 6000 خط) ، حتی 1 ترای/کچ هم نداره!
    وقتی دستواتی همانند if هستند ، چه نیاز است به ترای/کچ
    شما در فایل Program.cs که نقطه شروع همه ی پروژه هاست در ابتدای تابع main کد زیر را اضافه نمایید:
    دوست عزیز مرسی ، اما نمی دونم چرا سی شارپ به 2 تکه خط کد ThreadExceptionEventHandler و ThreadExceptionEventArgs ارور میده و زیرش خط قرمز میکشه!

  7. #7

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    دوست عزیز مرسی ، اما نمی دونم چرا سی شارپ به 2 تکه خط کد ThreadExceptionEventHandler و ThreadExceptionEventArgs ارور میده و زیرش خط قرمز میکشه!
    خواهش می کنم.

    احتمال داره بد استفاده می کنید کد را. این جوری که می گم عمل کنید.

    شما داخل متد Main برنامه در اولین خط متد(دقت کنید باید قبل از همه ی دستورات نوشته شود) بنویسید Application.ThreadException سپس یک به علاوه و یک مساوی ( =+) گذاشته و دوبار کلید Tab را بزنید تا ویژوال استادیو خودش متد صحیح را تعریف کند.

    سپس داخل متد تعریف شده توسط ادیتور رفته و از طریق پارامتر e خطای مورد نظر را هندل کنید.

    اینم شکل کلیش که براتون قرار دادم.(دقت کنید بعضی جاها مثل fals e را اینجوری نوشته که همون false هست)

    موفق باشید...

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
    using System.Threading;

    namespace DataGridUpdate
    {
    static class Program
    {
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
    Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadExce ption);
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(fals e);
    Application.Run(new Form1());
    }

    static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
    {
    MessageBox.Show(e.Exception.Message);
    }
    }
    }

  8. #8
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    سپس داخل متد تعریف شده توسط ادیتور رفته و از طریق پارامتر e خطای مورد نظر را هندل کنید.
    طبق حرفتون اولی درست شد ، اما دومی هنوز ارور میده (ThreadExceptionEventArgs) انگار سی شارپ این نوع را نمی شناسد.
    اولی رو همونطور که گفتید ، بصورت تایپی رفتم و ویژوال استودیو بهش System.Threading اضافه کرد.
    دومی هم اگه این رو بهش اضافه کنم ، ارور حل میشه ، اما دوباره بدلیل مشکل پارامتری اولی ارور میده!!!
    اینم تصاویرش:

    h1.jpg

    h2.jpg
    البته این رو هم اضافه کنم ، که کد قبلی شما بدون وارد کردن پیش دستورات سیستم ، با استفاده از using درست میشد، اما این روش هم مانند بالا ارور میده!

  9. #9

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    سلام

    ببخشید یادم رفت که بگم System.Threading را باید using کنید.

    دلیل اینکه که در عکس دومی که قرار دادید خطا می گیرید اینه که دو تا متد همنام به نام Application_ThreadException تعریف کردید. ترجیحا متد اولی را پاک کنید تا خطای مورد نظری که برنامه می ده را داخل MessageBox مشاهده کنید.

    موفق باشید...

  10. #10
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    با سلام
    ببخشید یادم رفت که بگم System.Threading را باید using کنید.
    بزرگوارید.
    من اصلا خودم حواسم نبود که 2 تابع با یک نام تعریف شده است ، به هر حال کار کرد.
    بسیار متشکرم
    موفق و پیروز باشید.

  11. #11

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    سلام خسته نباشیدمن جدیدا دارم باسی شارپ کارمیکنم
    میخوام درج در دیتابیس بادیتاگریدویی انجام بدم.درفرم یک بازدن کلید درج به فرم دو منتقل میشه واطلاعات واردمیشه وسپس بازدن کلیددرج ذخیره بشه و الان ارور میده ممنون میشم اگه کسی کمکم کنه.
    کلیدهای ویرایش وحذفم که میخوام کارکنه
    تشکردوستان
    http://uplod.ir/5451sqm0zs5q/Windows...ation1.zip.htm

  12. #12
    کاربر دائمی آواتار ebrahim.rayatparvar
    تاریخ عضویت
    آبان 1392
    محل زندگی
    https://www.youtube.com/c/zangclass
    پست
    714

    نقل قول: جلوگیری از نمایش ارور های اشکال(مقادیر ورودی و...) در سی شارپ

    سلا مهندس جان.
    بهتر نیست پیغام خطا خوددت رو انجا بزاری تا ببینیم.

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

  1. جلوگیری از نمایش کلیه ارور ها و پیغام های ویندوز
    نوشته شده توسط Xcalivorse در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 20 بهمن 1389, 14:12 عصر
  2. پاسخ: 29
    آخرین پست: چهارشنبه 20 بهمن 1389, 11:33 صبح
  3. سوال: مسیج باکس در وب برای نمایش ارور های دیتا لایر
    نوشته شده توسط neynavaz در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: شنبه 27 آذر 1389, 07:39 صبح
  4. اشکال در نمایش کد های javascript !!!!
    نوشته شده توسط مهدی رحیم زاده در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: جمعه 21 آبان 1389, 19:11 عصر
  5. سوال: جلوگیری از نمایش محتویات داخل پوشه های سایت
    نوشته شده توسط ali.m.vand در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: دوشنبه 01 شهریور 1389, 14:28 عصر

برچسب های این تاپیک

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

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