我的jdk版本是1.4.2_04,我把你的程序分别在命令行下和JCreator Pro 3.00下都运行过了,确实会产生Exception:java.lang.NumberFormatException: For input string: "abc"但是话说回来,产生Exception才是正常的呀!你怎么能试图将“abc”这样的字符串转换成整型数呢?如果可以转换的话,那么结果又是什么呢?呵呵:〉至于你说你以前运行的时候不会抛出异常,这实在蹊跷呀!你有更新过你的jdk版本吗?

解决方案 »

  1.   

    楼上说的对是不是你以前catch语句里是空的啊,如
    catch(NumberFormatException e){
    }
    此时错误被捕捉到,但没做任何处理,所以不会提示错误信息了e是一个NumberFormatException对象的名字,和变量一样,当然可以是其他名字,如numbere什么的
    不管换成什么,都一样的
      

  2.   

    当程序执行到不符合常规的时候就会抛出exception 比如说除以“0”大部分的例外sun公司已经都写好了,只要catch(Exception e)就都可以捕获,但是这样效率低下也可以自己定义抛出exception :throw new XXXExceptionclass XXXException extends Exception{
     public XXXException()
     {
      super();
     }
    }catch(XXXException  e)就可以捕获了
      

  3.   

    回答:why it is 'e'?others is ok?当然OK,
    catch(NumberFormatException e)
    的意思是:将捕获到的异常实例化为名字为e的NumberFormatException 对象
      

  4.   

    开车闯了红灯,违反了交通规则,会的得到罚单
    Exception就是罚单的作用,提示你违反了编译器的哪些规则.
      

  5.   

    例外已经被你捕捉并处理了,一般的例外(runtime exception除外)并不是程序错误,是可以控制的。所以从总体上应该说没有例外了