zoukankan      html  css  js  c++  java
  • java学习之异常之运行异常

    Exception中有一个特殊的子类异常:

    RuntimeException:(运行时异常):

    1.如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。

    2.如果在函数上声明了该异常,调用者可以不用经行处理,编译一样通过。

    之所以不用在函数声明,是因为不需要让调用者处理。当该异常发生,希望程序停止,因为在运行时,出现了无法继续运算的情况,希望停止程序后,由程序员对代码进行修正。

    自定义异常时:如果该异常的发生,无法再继续进行运算,就让自定义异常继承RuntimeException。

    对于异常分两种:

    1.编译时被检测的异常

    2.编译时不被检测的异常(运行时异常。RuntimeException以及其子类)

    package com.dreamy.day04;
    
    /**
     * @author dreamy
     *
     */
    class FuShuException extends RuntimeException{
        public FuShuException(String msg) {
            super(msg);
        }
    }
    class Demo03{
        int div(int a,int b) {//throws Exception
            
    //e instanceof RuntimeException
            
            if(b<0) {
                throw new FuShuException("出现了除数为负数了");
            }
            if(b==0) {
    
                throw new ArithmeticException("除零啦");
            }
            return a/b;
        }
    }
    public class RuntimeExceptionDemo01 {
    
        public static void main(String[] args) {
            Demo03 d=new Demo03();
            int x=d.div(4, -1);
            System.out.println("x:"+x);
            System.out.println("over");
            
    //        Person p=new Person();
    //        p.checkName(null);
        }
    }
    /*class Person{
        public void checkName(String name) {
            //if(name.equals("lisi")) {//NullPointerException
            if("lisi".equals(name)) {//if(name!=null&&name.equals("lisi"))
                System.out.println("YES");
            }else {
                System.out.println("NO");
            }
        }
    }*/
  • 相关阅读:
    javaweb基础笔记(2)
    javaweb基础笔记(1)
    java基础笔记(11)
    java基础笔记(10)
    java基础笔记(9)
    洛谷 P2648 赚钱
    AcWing 走廊泼水节 题解
    对于有向图多个点到一个点的求法
    分层图的四倍经验
    洛谷 P4822 [BJWC2012]冻结
  • 原文地址:https://www.cnblogs.com/zhaohuan1996/p/8044267.html
Copyright © 2011-2022 走看看