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

نام تاپیک: فرق بين Exception و SystemException

  1. #1
    کاربر دائمی آواتار HAMRAHSOFT.IR
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    هرجا كه غم و ناراحتي باشه
    پست
    1,175

    فرق بين Exception و SystemException

    سلام نميدونم سوالم درست پرسيدم يا نه

    مخواستم ببينم فرق بين Exception و SystemException در چي

    يعني اگر از SystemException استفاده كنيم در برنامه ايا مشكلي پيش مياد ؟

    خطا را درست برنمگردون يا فرقي ندارن

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    بابل
    پست
    112

    نقل قول: فرق بين Exception و SystemException

    اگر تو msdn نگاه کنی ،توضیحی که برای Exception آورده این هست که :
    This class is the base class for all exceptions. When an error occurs, either the system or the currently executing application reports it by throwing an exception containing information about the error. Once thrown, an exception is handled by the application or by the default exception handler.
    (که به طور خلاصه یعنی شامل انواع خطاهایی که ممکنه پیش بیاد.یعنی هم خطاهای سیستم و هم برنامه کاربردی)

    تا اینجا مشخصه . اماتوضیحی که برای SystemException آورده این هست که :
    This class is provided as a means to differentiate between exceptions defined by the system versus exceptions defined by applications

    و نکته جحالب در ادامه توضیح هست که میگه:
    SystemException does not provide information as to the cause of the Exception. که فکر نکنم نیاز به توضیح داشته باشه .

    http://msdn.microsoft.com/en-us/libr...exception.aspx
    http://msdn.microsoft.com/en-us/libr...exception.aspx

  3. #3
    کاربر دائمی آواتار HAMRAHSOFT.IR
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    هرجا كه غم و ناراحتي باشه
    پست
    1,175

    نقل قول: فرق بين Exception و SystemException

    تشكر از شما ولي اگه بزبان ساده و فرسي توضيح مداديد فكنم بهتر بود

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    بابل
    پست
    112

    نقل قول: فرق بين Exception و SystemException

    من متن اصلی رو گذاشم والبته برای هر کدوم توضیح دادم
    ولی به زبون ساده این میشه که SystemException فقط اشکالات و خطاهای مربوط به سیستم رو بر میگردونه. اما شما در نظر بیار ممکنه برنامه ایکه ایجاد کردی از برنامه کاربردی خاصی استفاده میکنه(مثلا برای تهیه گزارش از crystal report استفاده میکنی . یا فرضا زمان استفاده از sqlserver موقع خواندن اطلاعات خطایی داخل sql اتفاق بیفته)، در اینطور برنامه قادر به کشف خطا نیست. اما Exception میتونه هر نوع خطایی رو تشخیص بده،چه خطاهای سیستمی و چه خطاهای برنامه کاربردی .

  5. #5
    کاربر دائمی آواتار HAMRAHSOFT.IR
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    هرجا كه غم و ناراحتي باشه
    پست
    1,175

    نقل قول: فرق بين Exception و SystemException

    پس نتيجه اينكه هميشه از Exception استفاده كنيم كه بتونيم بهتر به نتيجه برسيم

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

    نقل قول: فرق بين Exception و SystemException

    تقریبا . ولی فکر کنم اگر هر جای برنامه بسته به شرایط از Exception خودش استفاده شه بهتر باشه. لیست پایین فقط تعدادی از انواع exception هست. بهتر هست وقتی داریم تیکه کد مینویسیم، بسته به شرایط کدمون حالت ممکن خودش رو در نظر بگیریم. فرضا برای خطای احتمالی در ارتباط با بانک استفاده از SqlException بهتر از Exception هست و مابقی حالات


    +--System.Object
    |
    |
    +--System.Exception
    |
    |
    +--System.SystemException
    |
    |
    +--System.ArgumentException
    | |
    | |
    | +--System.ArgumentNullException
    | |
    | |
    | +--System.ArgumentOutOfRangeException
    | |
    | |
    | +--System.DuplicateWaitObjectException
    |
    |
    +--System.ArithmeticException
    | |
    | |
    | +--System.DivideByZeroException
    | |
    | |
    | +--System.OverflowException
    | |
    | |
    | +--System.NotFiniteNumberException
    |
    |
    +--System.ArrayTypeMismatchException
    |
    |
    +--System.ExecutionEngineException
    |
    |
    +--System.FormatException
    |
    |
    +--System.IndexOutOfRangeException
    |
    |
    +--System.InvalidCastException
    |
    |
    +--System.InvalidOperationException
    | |
    | |
    | +--System.ObjectDisposedException
    |
    |
    +--System.InvalidProgramException
    |
    |
    +--System.IO.IOException
    | |
    | |
    | +--System.IO.DirectoryNotFoundException
    | |
    | |
    | +--System.IO.EndOfStreamException
    | |
    | |
    | +--System.IO.FileLoadException
    | |
    | |
    | +--System.IO.FileNotFoundException
    | |
    | |
    | +--System.IO.PathTooLongException
    |
    |
    +--System.NotImplementedException
    |
    |
    +--System.NotSupportedException
    |
    |
    +--System.NullReferenceException
    |
    |
    +--System.OutOfMemoryException
    |
    |
    +--System.RankException
    |
    |
    +--System.Security.SecurityException
    |
    |
    +--System.Security.VerificationException
    |
    |
    +--System.StackOverflowException
    |
    |
    +--System.Threading.SynchronizationLockException
    |
    |
    +--System.Threading.ThreadAbortException
    |
    |
    +--System.Threading.ThreadStateException
    |
    |
    +--System.TypeInitializationException
    |
    |
    +--System.UnauthorizedAccessException

  7. #7
    کاربر دائمی آواتار HAMRAHSOFT.IR
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    هرجا كه غم و ناراحتي باشه
    پست
    1,175

    نقل قول: فرق بين Exception و SystemException

    شرمنده ولي
    چرا فرضا برای خطای احتمالی در ارتباط با بانک استفاده از SqlException بهتر از Exception هست

    علت چي؟ مگه هردو خطا كامل برنمگردن؟

  8. #8

    نقل قول: فرق بين Exception و SystemException

    سلام نميدونم سوالم درست پرسيدم يا نه

    مخواستم ببينم فرق بين Exception و SystemException در چي

    يعني اگر از SystemException استفاده كنيم در برنامه ايا مشكلي پيش مياد ؟

    خطا را درست برنمگردون يا فرقي ندارن
    SystemException از Exception مشتق شده است. استثناهای سطح سیستم و پلتفورم NET. از این کلاس مشتق میشن مثل IndexOutOfrange . به اینها استثناهای سطح سیستم میگن. یک نوع دیگه هم داریم که به استثناهای سطح برنامه معروفند و از کلاس ApplicationException مشتق میشن. که معمولا این استثناها از کدبرنامه اجرایی به وجود میان. به عنوان مثال اگر شما بخواهید Exception خاص برنامه خودتون رو طراحی کنید. باید اون رو از ApplicationException مشتق کنید. این نشون میده که Exception مربوط به سطح برنامه هستش.

    نقل قول نوشته شده توسط HAMRAHSOFT.IR مشاهده تاپیک
    شرمنده ولي
    چرا فرضا برای خطای احتمالی در ارتباط با بانک استفاده از SqlException بهتر از Exception هست

    علت چي؟ مگه هردو خطا كامل برنمگردن؟
    Exception یک کلاس پایه است که تمامی Exceptionها از اون مشتق می شن. اما دریک برنامه باید این مسئله را درنظر داشت که نتها خطاهایی که امکان رخ دادنشون وجود داره رو باید گیر انداخت و استفاده مستقیم از کلاس Exception یک امر غیراصولی و نادرست به حساب میاد
    لینک زیر رو حتما ببینید:
    https://barnamenevis.org/archive/index.php/t-209661.html

  9. #9
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    بابل
    پست
    112

    نقل قول: فرق بين Exception و SystemException

    This class is created whenever the .NET Framework Data Provider for SQL Server encounters an error generated from the server. (Client side errors are thrown as standard common language runtime exceptions.) SqlException always contains at least one instance of SqlError.

    اول اصل مطلب رو بخون به اینگلیش. بعد هم exeception فقط خطای برنامه است. یعنی اگر مشکلی داخل sql اتفاق بیفته نمیتونه تشخیص بده. پس فقط یکسری خطاهایکلی رو اعلام میکنه (یه سری خطاهای تعریف شده)

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

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