源码:
public class Mytest {
public void show1(){
throw new Exception();
}
public void show2(){
throw new NumberFormatException();
}
}问题:请问为什么在eclipse中,在show1方法中的“throw new Exception();”会提示“添加抛出异常或者用try..catch捕获”?
show2()方法并没有提示!求助:
NumberFormatException是Exception的子类,为什么父类实例会提示出错,而子类实例不提示出错?
请各路高手给小弟一个专业的回复!谢谢!

解决方案 »

  1.   

    NumberFormatException()是运行时异常,只在运行后才有用
      

  2.   

     public void show1(){
            throw new Exception();
        }你的方法里有异常,那么怎么办呢?
    1 自己处理,那就try catch掉
    2 抛给调用者,那么方法应该写成
     public void show1 throws Exception(){
            throw new Exception();
        }
      

  3.   

    NumberFormatException()
    属于运行时的异常,在程序运行时,才可能而Exception 在编译的时候就会检查。
      

  4.   

    Java提供了两类主要的异常:runtime exception和checked exception。checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。 但是另外一种异常:runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。 
      

  5.   

    常见JAVA运行时异常有哪些?ArithmeticException - 算术运算中,被0除或模除ArrayIndexOutOfBoundsException - 数组越界访问ArrayStoreException - 数据存储异常,写数组操作时,对象或数据类型不兼容ClassCastException - 类型转换异常IllegalArgumentException - 方法的参数无效IllegalThreadStateException - 试图非法改变线程状态,比方说试图启动一已经运行的线程NullPointerException - 试图访问一空对象的变量、方法或空数组的元素NumberFormatException - 数据格式异常,试图把一字符串非法转换成数值(或相反)SecurityException - 如果Applet试图执行一被WWW浏览器安全设置所禁止的操作IncompatibleClassChangeException - 如改变了某一类定义,却没有重新编译其他引用了这个类的对象。如某一成员变量的声明被从静态改变为非静态,但其他引用了这个变量的类却没有重新编译,或者相反。如删除了类声明中的某一域或方法,但没有重新编译那些引用了这个域或方法的类OutOfMemoryException - 内存不足,通常发生于创建对象之时NoClassDefFoundException - JAVA运行时系统找不到所引用的类IncompatibleTypeException - 试图实例化一个接口,Java运行时系统将抛出这个异常UnsatisfiedLinkException - 如果所需调用的方法是C函数,但Java运行时系统却无法连接这个函数InternalException - 系统内部故障所导致的异常情况,可能是因为Java运行时系统本身的原因
      

  6.   

    NumberFormatException()
    RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。 
    可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。Exception
    Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。