JSP JAVA: try-catch 类型的非法启动

JSP JAVA: Illegal start of type try-catch

我看过几篇关于我遇到的相同问题的帖子,但我不知道如何解决我的问题。他们说要添加 public class 但我遇到了更多错误。我在第 1 行收到一个错误,这是一条在我添加 try-catch 之前没问题的注释。 (代码跳到try catch所在的地方)

<%      

    String curr1 = request.getParameter("lstCurrency1");
    String curr2 = request.getParameter("lstCurrency2");
    String errorMessage = null;

    try {
    Double currIn = Double.parseDouble(request.getParameter("txtCurrency1"));            
    Double convert = fxDataModel.getFxRate(curr1,curr2)*currIn;
    }
    catch (NumberFormatException ex){ 
        errorMessage = "Please insert a valid number!";
    }
    String[] currencies = fxDataModel.getFxCurrencies(); 
%>

此代码位于我的 html 页面上方,该页面利用 currIn 并转换为填充文本框。在我添加 try-catch 之前,这里的一切工作正常。我读过我可能需要添加一个 public class 但每次我尝试它都会给我更多的错误并且不再识别 "request" 。谁能帮我弄清楚为什么它说非法类型开始?

谢谢

您在 try 块中声明变量,因此它们只能在块中使用。

因此将声明放在 try 块之外:

Double currIn = null, convert = null;
try {
    currIn = Double.parseDouble(request.getParameter("txtCurrency1"));            
    convert = fxDataModel.getFxRate(curr1,curr2)*currIn;
}
catch (NumberFormatException ex){ 
    errorMessage = "Please insert a valid number!";
}