وبلاگ

جاوا | آموزش استفاده از کلیدواژه throws در مدیریت استثنا

کلیدواژه throws

🔆 کلیدواژه throws یک مفهوم از مدیریت استثنا در جاوا میباشد. در واقع از این کلیدواژه زمانی استفاده میشود که مشخص کنیم کدام استثنا در رابطه با یک اجرا شدن یک متد ایجاد خواهد شد.

🔅 کلیدواژه throws دقیقا قبل از باز کردن بدنه متد نوشته میشود:

void func() throws Exception { }

🔰 مثال:

public void createFile(String path, String text) throws IOException {
FileWriter writer = new FileWriter(path);
writer.write(text);
writer.close();
}

برای مثال این متد استثنای IOException را پرتاب میکند. این استثنا زمانی ایجاد خواهد شد که یک شی از کلاس FileWriter ایجاد شود. البته به یاد داشته باشید که خود متد عملی در زمینه مدیریت استثنا انجام نخواهد داد و این مدیریت باید در صورت استفاده از متد انجام شود (این مدیریت یا باید بوسیله ترای کچ و یا پرتاب دوباره استثنا توسط متد صورت گیرد.).

با استفاده از Try-Catch

public class Ithooloo {
    public static void main(String[] args) {
        try{
            createFile("ITHOOLOO.txt","Hello World");
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    public static void createFile(String path,String text)throws IOException{
        FileWriter writer = new FileWriter(path);
        writer.write(text);
        writer.close();
    }
}

با استفاده از throws :

public class Ithooloo {
    public static void main(String[] args) throws IOException{
        createFile("ITHOOLOO.txt","Hello World");
    }
    public static void createFile(String path,String text)throws IOException{
        FileWriter writer = new FileWriter(path);
        writer.write(text);
        writer.close();
    }
}

💡 معمولا کلید واژه throws در رابطه با استثنا های تیک خورده (Checked Exceptions) به کار برده میشود. استثنا های تیک خورده در جاوا استثنا هایی هستند که حتما باید مدیریت شوند. در کل استفاده از throws برای استثنا های عادی بی معنی خواهد بود. نمونه ای از استثنا های تیک خورده:

  • IOException
  • ClassNotFoundException
  • InterruptedException
  • FileNotFoundEception
  • InstantiationException
  • SQLException
varargs به متدی نسبت داده میشود که دارای تعداد آرگومان های ورودی متغیر باشد در حقیقت بصورت خودکار از یک آرایه یک بعدی برای ذخیره مقادیر ورودی استفاده میکند
اشتراک گذاری:

مطالب زیر را حتما مطالعه کنید

دیدگاهتان را بنویسید