zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    labview 中的一些简写全称
    socket
    putty
    在波形图表中显示多条曲线
    简单的通电延时触发电路
    Linux sed 批量替换多个文件中的字符串
    PhpMyAdmin管理,登录多台远程MySQL服务器
    MySQL客户端工具推荐
    Redis的几个认识误区
    Redis 的 5 个常见使用场景
  • 原文地址:https://www.cnblogs.com/mlf19920916/p/12155149.html
Copyright © 2011-2022 走看看