zoukankan      html  css  js  c++  java
  • 异常处理

    概念
    java异常是处理程序中错误的一种机制, 错误通常指的是程序在运行的过程中发生的一些异常事件, 比如0作为除数, 数组下标越界, 流读取的文件不存在

    设计程序的时候应该在异常发生的时候能友好的处理一下这些异常

    java中出现的异常事件都可以生成一个异常类的对象, 这个对象将异常发生的信息封装起来交给java虚拟机引擎去处理, 这个过程称为抛出(throw)异常

    当java虚拟机接收到异常对象, 会寻找能处理这一异常的代码, 这个过程称为捕获(catch)异常


    异常分类:
    Throwable--所有异常类的父类
    Exception--可能出现的异常
    RuntimeException--经常出现
    可以不用catch
    非RuntimeException
    必须catch
    流中的IOException
    Error--系统错误, 虚拟机错误, 管不了

    异常的捕获和处理
    第一种处理方式:
    try{ // 用在可能出现异常的代码语句上
    ...
    } catch(Exception e) {
    e.printStackTrace(); // 打印输出这个错误的一串信息
    }

    第二种处理方式:
    try{
    ...
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    一定会执行的代码块
    }

    声明方法的异常
    throws--将某个方法的异常抛出, 谁调用这个方法, 谁去处理异常
    throw
    当throws写在main方法上的时候就会把异常打印出来
    异常要及时处理

    异常的处理其他问题
    在一个try语句中, 子类异常的捕获语句不可以写在父类异常捕获的语句上面

    自定义异常
    extends Exception
    extends RuntimeException

    方法重写中异常
    重写方法需要抛出与原方法类型一致的异常, 或者不抛出异常

    package com.itnba;
    
    public class Test {
    
        public static void main(String[] args) {
            System.out.println("程序开始 !");
            // Scanner
            try {
                int a = 5;
                int b = 2;
                chufa(a, b);
                return;
            } catch (Exception e) {
                System.out.println(e.getMessage());
                // e.printStackTrace(); // 在控制台上打印出现异常的追踪信息
                // System.out.println("除数不能为0哦");
            } finally {
                System.out.println("不管怎么样这段一定会被执行 !");
            }
            System.out.println("程序结束 !");
    /*        Exception e = new Exception("关于异常的描述");
            e.getMessage();*/
        }
        
        public static void chufa(int a, int b) {
            System.out.println(a / b);
            // return;
        }
    
    }
  • 相关阅读:
    Verilog手绘FVH信号
    Verilog编码规范与时序收敛
    关于DDS的基础知识
    阅读ug949-vivado-design-methodology笔记
    在windows系统上使用pip命令安装python的第三方库
    pandas第一课
    视频外同步信号研究---fvh
    FPGA调试技巧
    关于FIFO异步复位的问题
    搭建一个microblaze的最小系统
  • 原文地址:https://www.cnblogs.com/F9801/p/9008571.html
Copyright © 2011-2022 走看看