سلام .
من دوتا Sub دارم به نام a و b در ساب A ساب B را صدا می زنم حال در ساب B با وجود یک شرط می خواهم کلا عملیات خاتمه پیدا کنه یعنی علاوه بر خروج از ساب A از ساب B هم خارج بشه .
راهه حل ؟؟
نکته :: دستور Exit Sub از ساب جاری خارج می شه .
سلام .
من دوتا Sub دارم به نام a و b در ساب A ساب B را صدا می زنم حال در ساب B با وجود یک شرط می خواهم کلا عملیات خاتمه پیدا کنه یعنی علاوه بر خروج از ساب A از ساب B هم خارج بشه .
راهه حل ؟؟
نکته :: دستور Exit Sub از ساب جاری خارج می شه .
ميتوني از يه چيزي مثل سوئيچ استفاده کني ، يعني اگه شرط برقرار شد و ميخواستي از ساب B بياي بيرون سوئيچ رو True کني خط بعد از فراخواني ساب B تو ساب A شرط رو چک کني اگه سوئيچ True بود از A هم بياي بيرون
توي ساب b ميتوني يه exception رو raise كني اونو throw كني به a حالا تو a هم try catch روي اون قسمت بزار
اين كه گفتم يه پيشنهاده بود فقط . شخصا اعتقاد دارم در طراحي كد بايد سعي بشه از كار هاي عجيب و پيچيده پرهيز بشه و اگه ديديد كه جايي به بن بست خورديد و مجبور شديد يك عمل غير متعارف انجام بديد مطمين باشيد كه در طراحي كد دچار اشتباه شديد و بايد كدتون رو Review كنيد
در مورد exception و try catch هم توي MSDN بگرديد نمونه كد پيدا ميكنيد . اينها جزو ابتدايي ترين دستورات در زبانهاي به اصطلاح First class ! هستند كه حتما بايد روي اونها و همچنين مباحث OOP مطالعه كنيد
تا اونجایی که من یادم می اد این دستورات جهت کنترول خطلا به کار می رفت .
چه ربطی به این موضوع داشت نفهمیدم . گفتم شاید چیز جدیدی باید ا ز گفته های شما بفهمم
به هر حال ممنون .
sub A
try
for i as integer = 0 to n
call B(i)
next
catch ex as exception
end try
end sub
sub B
do something ...
if (Must Exit from B and A) then throw new system.exception()
end sub