• java之自定义异常


    父类

     1 package com.oracle.demo01;
     2 
     3 import java.sql.SQLException;
     4 
     5 public class Fu {
     6 public void f() throws SQLException{
     7     
     8 }
     9 public void ff(){
    10     
    11 }
    12 }

    子类继承父类异常  只能抛出比父类异常小的异常

     1 package com.oracle.demo01;
     2 
     3 import java.sql.SQLException;
     4 
     5 public class Zi extends Fu {
     6     //重写父类方法时,父类的异常可以不抛,或者抛比父类异常小的异常
     7    public void f() throws SQLException{//这些是java类中,将问题封装成对象
     8                                        //可以自定义异常,可以通过集成。想让    A拥有B的特点,那么A继承B
     9        
    10    }
    11    //父类无异常,
    12    public void ff(){//不能throws抛异常,只能内部处理异常
    13        try {
    14         f();
    15     } catch (SQLException e) {
    16         // TODO Auto-generated catch block
    17         e.printStackTrace();
    18     }
    19        
    20    }
    21 }

    自定义异常

    package com.oracle.demo01;
    
    public class ZiDingYi {
    public static void main(String[] args) {
        int[] arr={1,-2,3,4,5};
        //自定义异常,成绩不能为负
        System.out.println(avg(arr));
    }
    //求学生成绩的平均值
    public static double avg(int[] arr){
        int sum=0;
        for(int i=0;i<arr.length;i++){
            //自定义负数异常,需要判断是编译期异常还是运行期异常(为用户提示)
            if(arr[i]<0){//集合为get(i)
                //运行期异常只需要抛出
                throw new FuShuException("您的数组中有负数"+i);
            }
            sum+=arr[i];
        }
       double avg=sum/arr.length;
       return avg;
    }
    }

    自定义异常

    package com.oracle.demo01;
    //自定义异常
    public class FuShuException extends RuntimeException {
    //默认无参构造,需要同时增加空参和有参构造
        public FuShuException(String mes){
            super(mes);//用父类的方法,打印异常信息
        }
        public FuShuException(){
            
        }
    }

    调用异常方法、

     1 package com.oracle.demo01;
     2 
     3 public class ZiDingYi {
     4 public static void main(String[] args) {
     5     int[] arr={1,-2,3,4,5};
     6     //自定义异常,成绩不能为负
     7     System.out.println(avg(arr));
     8 }
     9 //求学生成绩的平均值
    10 public static double avg(int[] arr){
    11     int sum=0;
    12     for(int i=0;i<arr.length;i++){
    13         //自定义负数异常,需要判断是编译期异常还是运行期异常(为用户提示)
    14         if(arr[i]<0){//集合为get(i)
    15             //运行期异常只需要抛出
    16             throw new FuShuException("您的数组中有负数"+i);
    17         }
    18         sum+=arr[i];
    19     }
    20    double avg=sum/arr.length;
    21    return avg;
    22 }
    23 }
  • 相关阅读:
    大数据量分表时 两个表查询比较快的方式
    开启SQL Server执行占用时间显示和逻辑读取次数显示
    【转】SQL Server海量数据库的索引、查询优化及分页算法
    Exchange无法发送邮件 未找到匹配的连接器来路由外部收件人解决办法
    HTML介绍&常用的标签
    关于HTML文件、JS文件、CSS文件
    python命名空间和作用域
    pymysql
    存储过程、视图、触发器、函数
    多表查询
  • 原文地址:https://www.cnblogs.com/mlf19920916/p/12155149.html
Copyright © 2020-2023  润新知