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

نام تاپیک: چگونگي رفع خطاي Access Denied در System.IO

  1. #1
    کاربر تازه وارد آواتار EbiPenMan
    تاریخ عضویت
    آذر 1384
    محل زندگی
    TehranPars
    پست
    57

    Tick چگونگي رفع خطاي Access Denied در System.IO

    سلام به همگي
    من در موقع خوندن فولدر هاي سيستمي و يا آنهايي كه دسترسي بهشون محدود شده با خطاي زير روبرو مي شم.
    Access to the path "...." is denied.

    من نمي خوام كه اصلا اين فولدر هارو بخونم چون يه حلقه دارم و خودش مي ياد اسم يه سري فولدر رو مي خونه.

    حالا فقط مي خوام كه اگه در اين حلقه به اين چنين فولدري بر خورد ازش بگذره و بقيه كارش رو انجام بده.

    چطور وقتي كه اين خطا رخ ميده ازش بگذره دوستان فقط مي خوام از اين خطا بگذره ها. من هرچي سعي كردم نتونستم شماره اين خطا رو پيدا كنم.

    من از اين تابع استفاده كردم :
    IO.Directory.GetDirectory

  2. #2

    نقل قول: چگونگي رفع خطاي Access Denied در System.IO

    EbiPenMan جان مشکلی نیست، دقیقتر توضیح بده از چه متد هایی استفاده می کنی.

    تا اونجایی که من می دونم و تست هم کردم متد هایی مثل DirectoryInfo، FileInfo و StreamReader و امثال اینها مشکلی ندارن.

    بیشتر توضیح بده.
    آخرین ویرایش به وسیله h.jaza : چهارشنبه 04 دی 1387 در 00:10 صبح

  3. #3
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: چگونگي رفع خطاي Access Denied در System.IO

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

    موفق باشید
    jooje

  4. #4
    کاربر دائمی آواتار molana alavi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مازندران (فعلا تهران)
    پست
    150

    نقل قول: چگونگي رفع خطاي Access Denied در System.IO

    دقیقا درسته مثلا اگه بخواین فولدر System Volume Information رو باز کنید همچین مکلی پیش میاد شما براحتی می تونید با ساختار try و catch مشکلتون رو حل کنید

  5. #5
    کاربر تازه وارد آواتار EbiPenMan
    تاریخ عضویت
    آذر 1384
    محل زندگی
    TehranPars
    پست
    57

    Exclamation نقل قول: چگونگي رفع خطاي Access Denied در System.IO

    دوستان من كل سورس رو مي زارم :

    Dim dir_Division As String()
    ReDim dir_Division(IO.Directory.GetDirectories(txt_Root. Text).Count())
    dir_Division = IO.Directory.GetDirectories(txt_Root.Text)

    Dim dir_Division_Count As String()
    ReDim dir_Division_Count(dir_Division.Count())
    Try
    Dim i As UInteger
    For i = 0 To dir_Division.Count - 1
    dir_Division_Count(i) = IO.Directory.GetDirectories(dir_Division(i)).Count
    Next
    Catch ex As UnauthorizedAccessException
    MsgBox(ex.Message)
    End Try

    اين كد مي ياد يك مسير روت از كاربر مي گيره هرچي مثلا C:\ بعد مي ياد اسم فولدراي داخل اين مسير رو در يك آرايه قرار ميده و در يك آرايه ديگه تعداد فولدر هاي داخلي هر يك از اين فولدر ها رو قرار مي ده.

    برنامه تا جايي كه اسم ها رو مي گيره درست كار مي كنه ولي در حلقه مثلا به قول molana جان اگه فولدري مثل System Volume Information باشه كه دسترسي به داخلش نداره ارور ميده و بقيه فولدر ها رو چك نمي كنه من مي خوام اگه به چنين فولدري بر خورد به جاي خطا تعداد زير فولدر هاشو 0 بزاره و ازش بگذره.

    bermoda جان هم خوب گفتند فقط من فكر نكنم كه اين نوع فولدر ها فقط به دليل سيستمي بودن اين خطا رو بده.

    از h.jaza هم عذر مي خوام بله من در توضيح مشكل گفتم فقط نامشون رو مي خونم ولي داخلشون رو هم مي خونه

  6. #6
    کاربر دائمی آواتار molana alavi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مازندران (فعلا تهران)
    پست
    150

    نقل قول: چگونگي رفع خطاي Access Denied در System.IO

    به نظر من شما نباید داخل catch هیچ کدی بنویسی یا حداقل چک کنی اگر استثناء روی داده همین استثناء بود هیچ پیامی نده و برنامه با صرف نظر کردن از این پوشه به کارش ادامه بده

  7. #7

    نقل قول: چگونگي رفع خطاي Access Denied در System.IO

    و یا به عبارتی Try Catch را داخل حلقه یعنی فقط روی دستور قرار دهید .

    For i = 0 To dir_Division.Count - 1
    Try
    dir_Division_Count(i) = IO.Directory.GetDirectories(dir_Division(i)).Count
    Catch : End Try
    Next

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

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