为什么必须使用try/catch 或者 throws异常

  刚刚一个朋友问我,为什么JDBC连接数据库的时候 Class.forName()方法必须使用try-catch 或者add throws declaration。我写了三个类试验一下。

     package com.song.ExceptionThrows;

     public class MyException extends Exception{
 
     }

     package com.song.ExceptionThrows;

     public class ThrowsException {
         public void throwException() throws MyException{
            System.out.println("throw myException");
         }
     }
     package com.song.ExceptionThrows;

     public class TestExceptionThrows {
          public static void main(String[] args) {
               new ThrowsException().throwException();
          }
     }

     这时  new ThrowsException().throwException();会报异常,
     为什么必须使用try-catch <wbr>或者 <wbr>throws异常

    选择try/catch 就是在此处处理异常,或者选择将异常继续向上抛出,当此时已经是main方法时,就将异常抛出至虚拟机。

    所以,Class.forName()方法必然也是抛出了一个异常,所以必须在此处处理或者继续向上抛出。

你可能感兴趣的:(虚拟机,jdbc)