黑马程序员技术交流社区

标题: 关于捕获异常的问题 [打印本页]

作者: 沐阳6011    时间: 2014-6-12 11:23
标题: 关于捕获异常的问题

  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.并没有捕获异常。求大神指教*/
复制代码


作者: 牵手相伴    时间: 2014-6-12 14:45
其实一直弄不清什么时候需要捕获异常的问题
作者: 沐阳6011    时间: 2014-6-12 18:47
牵手相伴 发表于 2014-6-12 14:45
其实一直弄不清什么时候需要捕获异常的问题

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

那这样说的话,那我就都加异常处理语句是不是就好了
作者: 沐阳6011    时间: 2014-6-13 17:43
牵手相伴 发表于 2014-6-13 16:55
那这样说的话,那我就都加异常处理语句是不是就好了

也不是不可以,你全都放在thy里,不过会影响运行效率。:P




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2