将参数代表的类加载到方法区
1.自行处理
Exception 所有异常的父类
try{放可能有异常的代码}catch{}
// try块不能单独使用,当try块检测出异常时,try块会将程序运行权转交给对应的cath块
// catch(捕获异常类对象)捕获
// catch(Exception e) {} 参数是父类类型必须写最后
try { Class.forName("com.neudu.chapter7_312_practice_p51.Test");//编译本身没有错但是出现报错
System.out.println("helle");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch(Exception e) {
e.printStackTrace();
}
System.out.println("4444");
2.向上抛出(规避异常)throws :谁用谁解决异常
异常:程序遇到的小问题
如数组越界,空指针,分母为0
解决的问题写对了即使也报错
简述Exception 和Error的区别
Exception:是一些通过代码能够解决的问题
Error:通常是无法用代码挽救的,是一些严重的错误
Throwable(异常Exception和错误Error的父类)
finally 与try....catch的使用
Class.forName("aaa");
return;
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally {
System.out.println("hello");
}
finally 、final、finalize的区别
- finally块一般与try....catch块配合使用,用来执行一定执行的代码(回收资源---关闭文件,关闭连接)
- final:用来修饰类,方法,属性
- finalize 与GC垃圾回收机制有关,JVM会把没有引用指向的对象视为垃圾
JVM会自动调用这个对象的finalize()方法回收内存
网友评论