如何在Java中创建自定义异常
时间:2020-02-23 14:34:17 来源:igfitidea点击:
在本教程中,我们将看到如何在Java中创建自定义异常。
在Java中创建自定义异常非常简单。
我们只需要扩展异常类以创建自定义异常。
我们有country的名单,如果我们在国家/地区中有"USA",则需要抛出InvalidCountryException(我们的自定义异常)。
示例:创建InvalidCountryException.java,如下所示
package org.igi.theitroad; public class InvalidCountryException extends Exception{ InvalidCountryException(String message) { super(message); } }
创建叫做Country.java的Pojo类
package org.igi.theitroad; public class Country { private String name; Country(String name ){ this.name = name; } public String toString() { return name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
让我们创建CountryCheckmain.java。
此类将具有主要方法。
package org.igi.theitroad; import java.util.ArrayList; import java.util.List; public class CountryCheckMain { public static void main(String args[]) { List countries = new ArrayList(); Country NetherlandsCountry = new Country("Netherlands"); Country chinaCountry = new Country("China"); Country nepalCountry = new Country("Nepal"); Country bhutanCountry = new Country("Bhutan"); countries.add(NetherlandsCountry); countries.add(chinaCountry); countries.add(nepalCountry); countries.add(bhutanCountry); boolean safe; try { safe = checkListOfCountries(countries); if (safe) System.out.println("We don't have USA in list of Countries"); Country USACountry = new Country("USA"); countries.add(USACountry); checkListOfCountries(countries); } catch (InvalidCountryException e) { e.printStackTrace(); } } public static boolean checkListOfCountries(List countries) throws InvalidCountryException { for (int i = 0; i < countries.size(); i++) { Country country = countries.get(i); if (country.getName().equals("USA")) { throw new InvalidCountryException("USA is not allowed"); } } return true; } }
运行上面的程序时,我们将获取以下输出:
We don't have USA in list of Country org.igi.theitroad.comvalidCountryException: USA is not allowed at org.igi.theitroad.CountryCheckMain.checkListOfCountries(CountryCheckMain.java:37) at org.igi.theitroad.CountryCheckMain.main(CountryCheckMain.java:25)
正如我们所看到的,如果我们在国家名单中有"美国",我们正在抛出InvalidCountryException。