所以我不确定为什么在尝试调用带有按钮的操作监听器的方法时会出现错误。我创建了面板并将布局设置为流布局,然后将其添加到内容 Pane 中,然后在此处创建了按钮...
JButton buyButton = new JButton("Buy");
panel.add(buyButton);
buyButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {buy();}});
然后我在 buy 方法中创建了一个 try catch block ...
public void buy throws OverException
{
try{
//tries the code
}
catch(OverException e){
//does stuff...
}
}
但它一直说必须在创建按钮时在 buy() 方法调用中捕获或声明抛出它。
最佳答案
因此,请执行编译器明确告诉您的操作:... 必须在 buy() 的方法调用中捕获或声明为抛出
。
OverException
必须在 actionPerformed
中捕获,或者 actionPerformed
必须声明为抛出 OverException
。
您无法更改 actionPerformed
的声明,因此请使其捕获异常:
buyButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try {
buy();
}
catch(OverException ex)
{
// TODO error handling
}
}
});
关于java - 尝试在 ActionListener 中调用的方法中抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37560236/