صفحه اصلی / دوره‌های آموزشی / آموزش جاوا مقدماتی تا متوسط / برخورد با استثناها در جاوا

برخورد با استثناها در جاوا

برخورد با استثناها در جاوا
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.
75,600 تومان

جلسات دوره


                         
مهدی عباسی
مدرس:

مهدی عباسی

18 سال سابقه برنامه‌نویسی و تدریس برنامه‌نویسی
کسب مقام‌های اول و دوم کشوری در مسابقات برنامه‌نویسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه

آموزش برخورد با استثناها در جاوا:

در این جلسه با مبحث برخورد با استثناها در ادامه جلسه قبل آشنا می‌شوید.
throw وthrows: این دو کلمه بسیار به هم شبیه هستند و بارها به اشتباه توسط برنامه نویسان استفاده می‌شوند. کلمه کلیدی throw داخل متدها استفاده می‌شود و کاربردش این است که هر زمان، بخواهیم یک رویداد غیرعادی را اطلاع رسانی کنیم، می توانیم از throw استفاده کنیم. به این شکل که شاید جایی از برنامه نیاز باشد یک استثنا را اطلاع رسانی کنیم. به دو صورت می‌توانیم از throw استفاده کنیم:
داخل try استفاده ‌کنیم: در واقع با اینکار در محدوده try یک استثنا را فراخوانی می‌کنیم. امکان دارد قبل از throw دستوراتی را نوشته باشیم و مشروط به شرط خاصی این دستورات را صدا بزنیم. اگر این دستور را در قسمت try بنویسیم عملا آن را به قسمت catch پرتاب می‌کنیم.

package  package1
public class MainClass {
      public static void main (string [] args) {
            try{
                 Scanner reader = new Scanner (System.in);
                 System.out.print(“Enter Number : ”);
                 int num1=reader.nextInt();
                 Scanner reader = new Scanner (System.in);
                 System.out.print(“Enter Number : ”);
                 int num2=reader.nextInt();
                 if (num2==0){
                     throw new Exception();
                 }
                 else {
                            int result=num1/num2;
                            System.out.println(result);
                }
                 
            }
            catch (Exception e){
                   System.out.println(“ Error : ” + e.getMessage());
            }
    }
}

 

داخل یک متد دیگر فراخوانی کنیم: throw را داخل یک متد دیگر فراخوانی کنیم و آن را پاس دهیم به Exception تا Exception بابت آن پاسخی را برگرداند. throws زمانی اتفاق می‌افتد که می‌خواهیم به سیستم اطلاع دهیم که داخل کد متد، یک استثنا وجود دارد و قبل از شروع بلاک متد از کلمه کلیدی trows  با نام استثنا استفاده می‌کنیم. با اینکار دیگر مجاز هستیم از throw استفاده کنیم و عمل پرتاب شدن انجام شود. پس برای استفاده از throw در یک متد از این روش استفاده می‌کنیم.
 

package  package1
public class MainClass {
      public static void main (string [] args) throws Exception{
                 Scanner reader = new Scanner (System.in);
                 System.out.print(“Enter Number : ”);
                 int num1=reader.nextInt();
                 Scanner reader = new Scanner (System.in);
                 System.out.print(“Enter Number : ”);
                 int num2=reader.nextInt();
                 if (num2==0){
                     throw new Exception();
                 }   
          }
     }

 

ایجاد یک Exception custom:
می‌توانیم استثناهای سفارشی ایجاد کنیم. در این مثال یک کلاس برای ایجاد استثنا با نام MyException تعریف می‌کنیم. می‌توانیم در سازنده کلاس فرزند Exception یک ورودی قرار دهیم. یک ورودی از نوع string وارد کرده‌ایم و با متد super آن را فراخوانی می‌کنیم. دو متد برای بررسی سن و معدل در mainClass تعریف کرده‌ایم و برای بررسی استثناهای برنامه از استثنایی که خودمان تعریف کردیم، استفاده می‌کنیم.

package package1
public class MyException extends Exception{
    public MyException (String str) {
          super(str);
          
    }
}


package  package1
public class MainClass {
    static void AgeValidate(int age) throws MyException{
         if (age<1 || age>100){
            throw new MyException(“Age Is Not Valid”);
         }
         else{
             System.out.println(“Age Is Valid…”);
         }
    }

  static void AvgValidate(float avg) throws MyException {
       if (avg<0 || avg>20){
           throw new MyException (“Avg Is Not Ok”);
       }
       else{
            System.out.print(“Avg Is Ok…”);
       }
   }
      public static void main (string [] args) {
         try{
                       Scanner reader = new Scanner(System.in);
                       System.out.print(“Enter Age : ”);
                      int age=reader.nextInt();
                     System.out.print(“Enter Avg : ”);
                     float avg=reader.nextFloat();
                     AgeValidate(age);
                    AvgValidate(avg);

          }
          catch(Exception e){
                   System.out.println(“My Error Message…” + e);
           }       
    }
}


 

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

با امید موفقیت و شادی برای شما دوست درسمنی عزیزsmiley

انجمن برنامه نویسان جاوا

 

نظرات دانشجویان

کاربر درسمن
پریسا

به نام پروردگار درود و توانا باشید. بسیار دوره عالی و مفیدی بود. باسپاس از استاد مهدی عباسی.

پشتیبانی 1
پشتیبانی 1

ممنونیم از شما بابت همراهیتون، موفق باشید.

mohammad mohammadifar
محمد

سلام خواستم بدونم با یادگیری دوره پیشرفته چ پروژ های میتوان انجام داد و اینک بنده ب طور خودخوان دارم یاد میگیرم مشکلی هس؟

پشتیبانی 1
پشتیبانی 1

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

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

کاربر درسمن
پوریا

سلام و و خسته نباشین عالی بود فقط چرا وقتی مثلا رشته ها را توضیح میده کاربردشو نمیگه یا حداقل یه مثال نمیزنه که مثلا کجای برنامه یا اپ اسنا بدرد میخوره کلا اگه مثال بزنه که مثلا فلان جای اپ مورد استفااده قرارر میگره خیلی عالی میشه البته هیچ جا مثال نمیزنن ممنون

پشتیبانی 1
پشتیبانی 1

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

کاربر درسمن
Masi khalili

سلام با تشکر از دوره مفیدتون،دوره پیشرفته جاوا آماده نشده؟ و اگر آماده نشده تا کی آماده میشه؟

پشتیبانی 1
پشتیبانی 1

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

کاربر درسمن
Mohammad

سلام ممنون از دوره مقدماتی تون به این دلیل که واقعا مفاهیم را استاد خوبم مهدی عباسی نکته به نکته اموزش میدهند انشاالله به زودی دوره پیشرفته رو هم برای ما بزارید سپاس گزارم 🙏🙏

پشتیبانی 1
پشتیبانی 1

سلام خدمت شما، ممنونیم از شما به دلیل رضایتی که از دوره ما دارید، بله در تلاش هستیم تا دوره ها را پوشش بدهیم ولیکن به دلیل آنکه کیفیت دوره برای ما بسیار اهمیت دارد، برای همین روال کار یکم کند پیش می رود ولی مطمئن باشید دوره فوق العاده بینظیری را تجربه خواهید کرد، برای اطلاع رسانی از سایر دوره ها و تخفیف ها می توانید درسمن را در شبکه های اجتماعی دنبال کنید.

از همراهی شما  متشکریم برای انتخاب درسمن برای متخصص شدن.

نمایش بیشتر

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.
ثبت نام

214