A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沐阳6011 中级黑马   /  2014-6-12 11:23  /  1353 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. public class Hsjc
  2. {
  3.         /*public static void main(String[] args)*/
  4.        
  5.         public static void main(String[] ar)
  6.         {
  7.                 double a=Double.valueOf(ar[0]);//从命令行输入参数操作
  8.                 double b=Double.valueOf(ar[1]);
  9.                 /*int a=4;
  10.                 int b=1;*/
  11.   
  12.                   try
  13.                 {
  14.                            System.out.println("商:"+(a/b));
  15.                         System.out.println("^^^^^^^^^^^^");
  16.                           
  17.                    }
  18.                 catch(ArithmeticException e)
  19.                  {
  20.                         System.out.println("输入参数错误"+e);
  21.                  }
  22.         }
  23.   
  24. }/*这是在命令行输入两个双精度的值,然后进行除法操作。但是执行不到catch语句,是不是应该加一个if语句,但是怎么加?运行结果一直是商:Infinity.并没有捕获异常。求大神指教*/
复制代码

4 个回复

倒序浏览
其实一直弄不清什么时候需要捕获异常的问题
回复 使用道具 举报
牵手相伴 发表于 2014-6-12 14:45
其实一直弄不清什么时候需要捕获异常的问题

是这样的,在没有异常处理的程序中,如果要回避可能出现的各种异常,就必须使用大量的判断语句,来配合所想到的任何可能出现的错误,但是这样并不能保证万无一失;而且,大量的判断语句不但未必能捕捉到所有的错误,而且势必会导致程序的运行效率降低。使用java中的异常处理机制,就可以很好的解决这个问题。:):)
回复 使用道具 举报
沐阳6011 发表于 2014-6-12 18:47
是这样的,在没有异常处理的程序中,如果要回避可能出现的各种异常,就必须使用大量的判断语句,来配合所 ...

那这样说的话,那我就都加异常处理语句是不是就好了
回复 使用道具 举报
牵手相伴 发表于 2014-6-13 16:55
那这样说的话,那我就都加异常处理语句是不是就好了

也不是不可以,你全都放在thy里,不过会影响运行效率。:P
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马