我看过几个与我遇到的同样问题相关的帖子,但我无法弄清楚如何修复我的问题。他们说要增加一个公共课,但我遇到了更多的错误。我在第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。我已经读过,我可能需要添加一个公共类,但每次我尝试它都会给我更多错误并且“请求”不再被识别。任何人都可以帮我弄清楚为什么它会说非法的类型开始?
由于
答案 0 :(得分:1)
您在try
块中声明变量,因此它们只能在块中使用。
因此将声明置于try-block之外:
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!";
}