为什么必须使用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 就是在此处处理异常,或者选择将异常继续向上抛出,当此时已经是main方法时,就将异常抛出至虚拟机。
????所以,Class.forName()方法必然也是抛出了一个异常,所以必须在此处处理或者继续向上抛出。