double.parsedouble()的问题

我先用JOptionPane得到一个输入:Stringprice=JOptionPane.showInputDialog(bookManagerMattise.this,... 我先用JOptionPane得到一个输入:
String price = JOptionPane.showInputDialog(bookManagerMattise.this,
null, "书的价格(必须是数字!!!)", JOptionPane.QUESTION_MESSAGE);
然后把它转换为双精度浮点数:
double thePrice = Double.parseDouble(price);
为了防止输入的格式错误,我捕获InputMismatchException异常:
catch (InputMismatchException e) {
System.out.println("价格输入错误,请重新选择操作。");
JOptionPane.showMessageDialog(null, "价格输入错误,请重新选择操作.");
return null;

现在我遇到个问题,貌似InputMismatchException捕获不到输入的异常,但是明明没有用到awt的时候可以捕获呀~~~我也试过用IOException,也不行,显示java.lang.NumberFormatException,但是我尝试捕获这个异常也不行。
求大神帮帮忙,好人一生平安啊!
展开
 我来答
TW8MRz
2014-09-04 · 超过64用户采纳过TA的回答
知道答主
回答量:115
采纳率:100%
帮助的人:157万
展开全部
应该是这样的,你抓过来的值 要进行1次判断。如果有值再做下面的。如果没值就不做。。

我把代码粘上 你看看,因为没有前面的 HTML 我不知道做的对不对!!

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
////// 下面是代码 /////////////////////
<%@ page contentType="text/html; charset=gb2312" %>
<html>
<head>
<title>JSP的请求</title>
</head>
<body>
<%
String s=request.getParameter("sd");
String x=request.getParameter("xd");
String g=request.getParameter("gao");

//Double double=new Double();
if(s!=null||x!=null||g!=null)
{double ss=Double.parseDouble(s);
double xx=Double.parseDouble(x);
double gg=Double.parseDouble(g);

out.println("梯形的面积是:"+(ss+xx)*gg/2); }
%>
</body>
</html>
追问
请问这种异常怎么捕获啊?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式