在下面发布的代码中,我正在编写一个实用程序方法,并且我想检查一个对象是否为null,并且字符串为null而不是空的。 因此,我编写了下面显示的方式抛出一些异常,但我认为代码可能已经被更好地编码,因为我编码它的方式嵌套 尝试和捕获blocks.and我不认为这是一个很好的风格是否有嵌套尝试和捕获的替代方法?
请指导我更好的代码belwo方法
代码:
public static boolean isFragmentShowing(Activity activity, String tag) throws Exception {
try {
if (activity != null) {
FragmentManager fragmentManager = FragmentUtils.getFragmentManagerInstance(activity);
try {
if (tag != null && !tag.equals("")) {
Fragment fragment = fragmentManager.findFragmentByTag(tag);
return (fragment != null && fragment.isVisible())? true : false;
} else {
throw new NullPointerException("isFragmentShowing: fragment tag passed is null or empty");
}
} catch (NullPointerException e) {
Log.e(TAG, "Error: " + e.getMessage().toString());
System.exit(1);
return false;
}
} else {
throw new NullPointerException("isFragmentShowing: context reference is null");
}
} catch (NullPointerException e) {
Log.e(TAG, "Error: " + e.getMessage().toString());
System.exit(1);
return false;
}
}
为什么要抓住异常,如果你要抓住它在外面的块? –
看来你所做的只是捕捉NPE。为什么不在最后抓到任何NPE。我实际上并没有捕捉到NPE,而是我检查了NPE –
@Yohannes能否请你提供一些代码 – user2121