zoukankan      html  css  js  c++  java
  • Java 异常

    1. 异常简介

      Java异常时Java提供的识别响应错误的机制,可以使程序中异常处理代码和正常业务代码分离,提高程序的健壮性。

    public class ExceptionTest01{
        public static void main(String[] args){
            try{
                int i = 10 / 0;
                System.out.println("i = " + i);
            }catch(ArithmeticException e){
                e.printStackTrace();
            }
        }
    }
    运行结果:
    java.lang.ArithmeticException: / by zero
            at ExceptionTest01.main(ExceptionTest01.java:5)

      Java中可抛出的异常(Throwable)分为三类:编译时异常,运行时异常和错误

      Throwable是Java中所有异常和错误的父类。

      (1)编译时异常:Exception类本身,和“运行时异常”之外的其他子类

        编译时异常要求在编译阶段进行处理,不处理则编译不通过。

      (2)运行时异常:RuntimeException及其子类

        在编译阶段可处理可以不处理,可以通过throws声明抛出,也可以try-catch捕获异常

      (3)错误

        当资源不足,约束失败,或是其他程序无法继续运行的条件发生时,就会产生错误。

        所有异常都是发生在运行阶段的,发生异常会new对象,在编译阶段不会创建对象。

    2. 异常方法的覆盖

      子类中不能比父类抛出更广泛的异常

    public class ExceptionTest02{
        public static void main(){
            
        }
    }
    
    class Animal{
        public void doSome(){
            System.out.println("animal do something");
        }
    }
    
    class Cats extends Animal{
        /*  可以不抛出异常
        public void doSome(){
            System.out.println("animal do something");
        }
        */
        
        public void doSome() throws FileNotFoundException{
            System.out.println("animal do something");  //错误: Cats中的doSome()无法覆盖Animal中的doSome()
        }
    }

      

    3. 自定义异常

      a. 自定义异常类继承Exception;

      b. 重写无参数和有参数构造方法;

    public class MyException extends Exception{
        public MyException(){}
        
        public MyException(String s){super(s);}
    }
  • 相关阅读:
    springmvc 处理静态资源
    springmvc jsp 获取 上下文
    springmvc 如何设置首页
    servlet-mapping url-pattern / 和 /*区别
    nginx支持php
    openresty 变量
    git tag用法
    python 导入模块,__init__.py 的作用
    python 转码问题
    python装饰器
  • 原文地址:https://www.cnblogs.com/homle/p/15507045.html
Copyright © 2011-2022 走看看