zoukankan      html  css  js  c++  java
  • 2020.7.28

    一、今日学习内容

      1、(1)通过throw抛出异常

                    手动抛弃异常对象是通过throw语句实现的,但可以抛弃的异常必须是Throwable或其子类的实例,其基本形式如下。

                     throw  异常名

                    throw关键字主要是用在try块中,用来说明已经发生的异常情况。throw关键字后面跟随一个异常对象,用来说明发出的异常类型。

                    注意:如果方法中用throw语句抛出了异常,那么,在方法的头部必须用throws声明将要抛出的异常。

                   示例:

    import java. io. IOException;
    public class ThrowDemo{
          public static void main(String[] args) {
                try{
                       System. out.println ("正在运行程序...");
                       throw new IOException ("用户自行产生异常");
                } catch (IOException e) {
                          e. printStackTrace() ;
                }
          }
    }

              (2)自定义异常

                     若要建立自己的异常类型,只要定义Exception 的一个子类就可以了,子类不需要实际执行什么,它们在类型系统中的存在允许把它们当成异常使用。
                     自定义异常的基本形式:

    class  自定义异常   extends  父异常类名
    {
            类体
    }

           示例:

    public class ZiDingYil{
          public static void main (String[]  args) {
                ZiDingYi Z= new ziDingYi () ;
                try{
                       z.add(2,3);
                } catch (MyException e) {
                         e.printStackTrace() ;
                }
           }
           private void add(int a,int b) throws MyException{
               if(a==b) {
                  throw new MyException ("输入两个数相等") ;
               }
           }
    }
    class MyException extends Exception{
           public MyException (String msg) {
                    super (msg) ;
            }
            public MyException() {
                    super () ;
            }
            public MyException (String message, Throwable cause) {
                   super (message, cause) ;
            }
            public MyException (Throwable cause) {
                super (cause) ;
            }
    }

     二、遇到的问题

         对相关异常问题还是不能熟练掌握,对前边的知识也有些模糊,还需要进行复习

    三、明日计划

       继续学习第八章,同时复习前边的内容

  • 相关阅读:
    qsort()的使用
    c语言不寻常的类型转换(类型提升)
    堆栈段的三个主要用途
    区分 声明与定义
    宏定义陷阱与typedef
    约瑟夫环解决方案
    线程中断测试
    Redis
    本地缓存
    tomcat优化
  • 原文地址:https://www.cnblogs.com/wmdww/p/13393810.html
Copyright © 2011-2022 走看看