java方法在结束之前返回
我正在使用最新的eclipse。我的方法怎么可能在结束之前或在return
语句之前关闭?!这个问题不是随机的,它只在特定的线路上发射,无论如何在我看来是不可能的。编译器错误?我真的不知道。在谷歌上我什么也没找到
default: {
ColumnSelector.showMovieSelector(list, frame);
break;
}
我的代码只显示一个定制的JoptionPane.showOptionDialogue
:
public static int showMovieSelector(List<MovieDb> list,Component component) {
JList<String> swinglist = new JList<>();
String[] array = new String[list.size()];
for (int i = 0; i < array.length; i++) {
array[i] = list.get(i).getTitle();
}
swinglist.setListData(array);
swinglist.setSelectedIndex(0);
ImageIcon img = new ImageIcon(Toolkit.getDefaultToolkit().getImage(list.get(0).getImages().get(0).getFilePath()));
JLabel l1=new JLabel(img);
JSplitPane pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, swinglist, l1);
JOptionPane.showOptionDialog(component, pane, "", JOptionPane.OK_OPTION, JOptionPane.PLAIN_MESSAGE, null, null, null);
return swinglist.getSelectedIndex();
}
Component component
是我定制的JFrame,List
是MoviedBAPI的实现
# 1 楼答案
解决了一半。结果表明,这是
getImages()
中的一种bug。如果我用try-catch包围它,它会抛出一个异常,即使源代码似乎不应该这样做。我会调查的# 2 楼答案
如果在方法结束之前的任何地方都没有使用return,那么检查可能会得到异常,这可能会导致方法突然返回