看了相关的视频后,对自定义异常处理总结(不全):
对于项目中出现的特有的问题,手动通过throw抛出自定义的异常
1.出现手动抛出throw异常对象后:要么在内部try catch处理,要么在函数上声明让调用者处理
2.因为父类中已经将所有的异常信息操作都完成了,所子类只要在构造时,将异常信息传递给父类通
过super语句。那么就可以直接通过getMessage方法获取自定义的异常信息
3.必须是自定义类继承Exception
4.继承Exception原因:异常体系有一个特点,异常对象和异常类都被抛出,因为他们都具有可抛性,
这个可抛性是Throwable这个体系中独有得特点。只有这个体系中的类和对象可以被throw和throws操作
5.throws和throw区别:throws使用在函数上;throw使用在函数内
throws后面跟异常类,可以跟多个,用逗号隔开;throw后跟的是异常对象
代码举例:
- public class Test3_2 {
- /**
- * java 中自定义异常的处理。throws和throw比较
- */
- public static void main(String[] args) {
- chufa c=new chufa();
- try{
- c.xiangchu(4,-1);
- }
- catch(fushuException e){
- System.out.println(e.toString());
- System.out.println("出现负数");
- }
-
- }
- }
- class chufa{
- int xiangchu(int a,int b) throws fushuException{
- if(b<0)
- throw new fushuException("程序拒绝计算");
- return a/b;
- }
-
- }
- class fushuException extends Exception{
- fushuException(String message){
- super(message);//因为父类中已经完成了所有必要的任务,所以这里只是把参数传给父类,让父类完成
- }
- }
复制代码
结果输出:- org.heima.fushuException: 程序拒绝计算
- 出现负数
复制代码
|
|