جستجو برای:
سبد خرید 0
  • آخرین دوره های آموزشی
  • درخواست پروژه
  • مقالات بلاکچین
  • تماس با ما

ورود

گذرواژه خود را فراموش کرده اید؟

ثبت نام

داده های شخصی شما برای پشتیبانی از تجربه شما در این وب سایت، برای مدیریت دسترسی به حساب کاربری شما و برای اهداف دیگری که در سیاست حفظ حریم خصوصی ما شرح داده می شود مورد استفاده قرار می گیرد.

  • 09395149363
  • info@fara-zaman.ir
  • لیست علاقه مندی ها
0
فرازمان | آکادمی بلاکچین
  • آخرین دوره های آموزشیداغ
  • درخواست پروژه
  • مقالات بلاکچینجدید
  • تماس با ما
آخرین اطلاعیه ها
جهت نمایش اطلاعیه باید وارد سایت شوید
شروع کنید

وبلاگ

فرازمان | آکادمی بلاکچیناخبارآموزش برنامه نویسی سالیدیتیمدیریت خطا (Error Handling) در قراردادهای هوشمند Solidity

مدیریت خطا (Error Handling) در قراردادهای هوشمند Solidity

16 اردیبهشت 1401
ارسال شده توسط مریم طاهری
آموزش برنامه نویسی سالیدیتی
مدیریت خطا (Error Handling) در قراردادهای هوشمند Solidity

مدیریت خطا (Error Handling) در قراردادهای هوشمند Solidity

مدیریت خطا (Error Handling) در قراردادهای هوشمند Solidity به صورت زیر است:

ادعا (Assert)– برای بررسی شرایطی استفاده می شود که هرگز نباید امکان پذیر باشد. ادعاها باید همیشه درست ارزیابی شوند و هرگز نباید شکست بخورند. اگر شکست بخورند، یک اشکال در کد به وجود می آید و شبکه تمام گس را مصرف می کند و تراکنش برگشت داده می شود.

مثال:

				
					Uint public balance; //state variable

Function deposit (uint _amount) public {
    Uint oldBalance = balance;
    Balance += _amount;
    Assert(balance >= _amount; 
// this assert statement should be true and we should really use require
// the statement below in the require section is correctly used
				
			

نیاز (Require) – برای ارزیابی ورودی ها، پیش شرط ها و خروجی های توابع استفاده می شود. در صورت خطا در ارزیابی، سالیدیتی یک خطا به کاربر نمایش می دهد. عبارت require یک پیام خطای اختیاری را می پذیرد. اگر خرابی وجود داشته باشد، تمام گس مصرف نمی شود.

مثال:

				
					Function deposit (uint _amount) public {
    Uint oldBalance = balance;
    Uint newBalance = balance +amount
    Require(newBalance >= oldBalance, “Overflow”); // we need to check the requirement first then update the balance

     Balance += +amount; // after checking our condition then perform adding the amount to the balance
     Assert(balance>= +amount; // this assert statement should be true
				
			

برگرداندن (Revert) – شبیه به نیاز(Require) است اما فقط یک آرگومان می گیرد که پیام خطا است. هنگامی که شرایط بررسی پیچیده است، استفاده از Revert ممکن است بهتر باشد.

مثال:

				
					Function withdraw (uint _amount) public {
    Uint oldBalance = balance;
    Require(newBalance<= oldBalance, “Overflow”);
    If (balance < _amount) {
    Revert(“underflow) {
    Balance += +amount;
				
			
دوره ها و آموزش های فرازمان

در صورتی‌ که تجربه خاصی در خصوص برنامه‌نویسی ندارید می‌توانید از دوره‌های رایگان سایت ما “فرازمان“، استفاده کنید. همچنین اگر به دوره‌های پیشرفته‌تری در این خصوص نیاز داشته باشید، ما با آموزش های حرفه ای که در سایتمان قرار دادیم می توانید به سطح دلخواهتان با تلاش و پشتکار برسید.

نقشه راه

راهنما آکادمی فرازمان

برای یادگیری برنامه نویسی بلاکچین…

دوره مفاهیم پایه برنامه نویسی
دوره جامع جاوا اسکریپت و جی کوئری
آموزش برنامه نویسی سالیدیتی
دوره جامع html/css/bootstap
آموزش پیشرفته برنامه نویسی بلاکچین
آموزش Whitepaper نویسی برای پروژه های بلاکچینی

در این باره بیشتر بخوانید

رویدادها در قراردادهای هوشمند Solidity

گس – gas در سالیدیتی(solidity)

توابع modifiers در سالیدیتی(solidity)

بررسی رفتار توابع View و Pure در سالیدیتی(solidity)

سطح دسترسی(Visibility) در سالیدیتی

برچسب ها: مدیریت خطا در سالیدیتیError Handling in Solidityآموزش برنامه نویسی سالیدیتیآموزش سالیدیتی
جدیدتر رویدادها (Events) در قراردادهای هوشمند Solidity
قبلی تابع بازگشتی (Fallback Function) در قراردادهای هوشمند Solidity

2 Comments

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • محسن گفت:
    29 مهر 1401 در 13:25

    سلام روز بخیر
    استفاده از require کاری که میگید رو انجام میده اما باید یک نکته رو در نظر داشت که باعث میشه حجم قرارداد بالا بره و تو قراردادهای بزرگ مشکل حجم پیش میاد،حتی المقدور اگه بشه از if و تو else از revert استفاده بشه همون نتیجه با حجم و هزینه کمتری بدست میاد.
    موفق باشید.

    پاسخ
    • فرازمان گفت:
      1 آبان 1401 در 14:55

      سپاس از نظری که دادید. این خط کد ها جنبه آموزشی دارند و افراد در سطح پیشرفته برای بهینه سازی کدشون باید بیشتر تحقیق کنند. باز هم از نظر شما سپاسگذاریم

      پاسخ

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
برچسب‌ها
function nft آموزش برنامه نویسی سالیدیتی آموزش بلاکچین آموزش سالیدیتی اتریوم اخبار بازی اخبار رمز ارز اخبار کریپتو امنیت قرارداد هوشمند ان اف تی اکتیویژن ایلان ماسک بازی بلاکچین برنامه نویسی بلاک چین برنامه نویسی سالیدیتی بلاک چین بیتکوین بیت کوین تحلیل بیت کوین تسلا توابع توابع در سالیدیتی جاوا اسکریپت حسابرسی در قرارداد هوشمند خبر بلاکچین دسنترالند دوج کوین رمزارز سالیدیتی سرمایه گذاری سندباکس قرارداد هوشمند مایکروسافت متاورس مقاله بلاکچین مقاله کریپتویی موزیلا نمونه قرارداد هوشمند سالیدیتی وب3 پی پال کریپتو کسب درامد کیف پول اتریوم کیف پول بلاکچین
  • محبوب
  • جدید
  • دیدگاه ها
دسته‌ها
  • آموزش برنامه نویسی سالیدیتی
  • اتریوم
  • اخبار NFT
  • اخبار متاورس
  • امور مالی غیرمتمرکز
  • برنامه نویسی سالیدیتی
  • بیت کوین
  • سولانا
  • صرافی غیرمتمرکز
  • قرارداد هوشمند
  • کریپتو
  • کیف پول ارز دیجیتال
  • مقالات بلاکچین
  • مقاله
  • نمونه قراردادهای هوشمند سالیدیتی
 فـرا زمان با بهره گیری از دانش روز دنیا و توانایی در آموزش، مشاوره و پیاده سازی انواع پروژه های بلاکچینی پا به عرصه ی رقابت گذاشته و هر روز به گروه و تخصص خود می افزاید.
دسترسی سریع
  • خانه
  • دوره ها
  • اخبار
  • تماس با ما
  • ساری، ابتدای خیابان 15 خرداد،مجتمع بهار،طبقه اول
  • 09395149363
  • info@fara-zaman.ir
خبرنامه

چیزی را از دست ندهید، ثبت نام کنید و در مورد شرکت ما مطلع باشید.

نماد ها

logo-samandehi
© 1400. آکادمی فرازمان - طراحی فرازمان
اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://fara-zaman.ir/?p=11338
دسته بندی دوره ها
دوره های من
دسته بندی دوره ها

طراحی وب

  • 1 دوره

WhitePaper

  • 1 محصول

برنامه نویسی اتریوم (سالیدیتی)

  • 4 محصول

کلاس مجازی

  • 1 دوره
دوره های من
برای مشاهده خریدهای خود باید وارد حساب کاربری خود شوید
Twitter Youtube Instagram
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

گروه تخصصی برنامه نویسی
  • 09395149363
  • پشتیبانی آنلاین
  • 09395149363