如果您没有抓住它,如何处理异常?

时间:2014-12-26 07:14:20

标签: java exception-handling

我正在使用Locale.class显示国家/地区及其代码。

我只是想知道如何在以下代码中处理异常

 public Locale(String language, String country, String variant) {
    if (language== null || country == null || variant == null) {
        throw new NullPointerException();
    }
    baseLocale = BaseLocale.getInstance(convertOldISOCodes(language), "", country, variant);
    localeExtensions = getCompatibilityExtensions(language, "", country, variant);
}

因为我没有在课堂上发现它

String[] locales = Locale.getISOCountries();

    for (String countryCode : locales) {

        Locale obj = new Locale("", countryCode); //NullPointerException - thrown if either argument is null. 

        System.out.println("Country Code = " + obj.getCountry()
                + ", Country Name : " + obj.getDisplayCountry());

    }

我知道该方法必须使用throws来抛出任何新的Thowable对象,并且必须在实现的类中处理新抛出的对象。

我是一个在java中使用异常处理的新手。

1 个答案:

答案 0 :(得分:4)

根据NullPointerException Javadoc,它扩展了RuntimeException。根据{{​​3}} Javadoc,

  

RuntimeException及其子类是未经检查的例外。如果方法或构造函数的throws子句可以通过执行方法或构造函数抛出并在方法或构造函数边界外传播,则不需要在方法或构造函数的throws子句中声明未经检查的异常。

在您的示例中,如果触发NullPointerException,您的JVM将终止并显示堆栈跟踪。