我的本意是在try里面写可以让catch捕捉到与InstantiationException、IllegalAccessException、ClassNotFoundException对应的错误代码。比如InstantiationException是在当应用程序试图使用 Class 类中的 newInstance 方法创建一个类的实例,而指定的类对象因为是一个接口或是一个抽象类而无法实例化时,抛出该异常。我就是要创建一个接口或者抽象类的实例,我尝试过,编译无法通过,我跑不到这个异常。哪位高手可以教我创建这样一个实例
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://192.168.1.251:1433;DatabaseName=anshin;SelectMethod=Cursor";
String uid = "SIC_USER";
String pwd = "SIC_USER";
con = DriverManager.getConnection(url, uid, pwd);
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
throw e;
}
这是我要测试的代码
throw new IllegalAccessException()
throw new ClassNotFoundException()
throw new IllegalAccessException();
throw new ClassNotFoundException();这样就可以了
你想要测试的只是你的catch块吧,如果异常产生的原因和你的测试代码没有什么关系的话
我想直接用new InstantiationException()应该也可以吧~
throw new InstantiationException("Test InstantiationException");
诸如此类,如果用了ide,会提示你try-catch这句,
完整的就是
try {
throw new InstantiationException("Test InstantiationException");
}
catch(InstantiationException e) {
e.printStack();
}
try {
throw new IllegalAccessException("Test IllegalAccessException");
}
catch(IllegalAccessExceptione) {
e.printStack();
}
try {
throw new ClassNotFoundException("Test ClassNotFoundException");
}
catch(ClassNotFoundExceptione) {
e.printStack();
}
throw new InstantiationException("test InstantiationException");
}void main(){
try{
test1();
}catch(InstantiationException ex){
ex.printStack();
}
}