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

    java之异常——Exception

    代码运行中出现非正常性情况

    1.编译时异常,比如少个分号结尾,比如调用的模块没有引入或者找不到

    2.运行时异常,比如索引越界

     常见的异常有空指针异常,是因为拿了一个空对象去操作,java中不允许操作空对象

    异常可以直接抛出异常,也可以捕获异常,捕获异常中还有多重捕获

    注意:

    1.如果某个方法中抛出了异常,其他方法在调用这个抛出异常的方法时,也需要抛出异常,因为下层的方法抛出的异常会传给上层的调用者

    2.finally关键字,一般是加在try{}catch{}代码块后面,无论是否发生异常,finally代码块中的代码都会被执行,finally代码块中的代码一般是用来做回收资源等收尾的工作

    任何执行try 或者catch中的return语句之前,都会先执行finally语句

    获取异常信息常用方法

    1.getMessage() :获取详细的异常描述信息

    2.printStackTrace() :打印异常发生时的方法调用栈信息

    
    
    package com.test01;

    import java.io.*;
    import java.util.Properties;

    import java.util.zip.InflaterInputStream;

    public class exceptionDemo {

    //throws IOException 这是抛出IOException异常,除了抛出异常,我们还可以捕获异常
    public static void main(String[] args) throws IOException {
    //根据文件路径创建文件对象
    File file = new File("src/main/resources/log4j.properties");
    //Properties类是专门用来解析Properties文件的
    Properties properties = new Properties();
    //除了直接抛出异常,还可以捕获异常,并处理异常或输入信息,art+ctrl+t 快捷键
    try {
    //准备一个输入流对象 ,将文件对象放到这个字节流对象中来,字节流对象是放在properties调用的load方法中
    InputStream inputStream = new FileInputStream(file);
    //调用load方法,从输入流中加载数据到对象中
    properties.load(inputStream);
    } catch (IOException e) {
    e.printStackTrace();
    //获取详细的异常描述信息
    System.out.println(e.getMessage());
    //打印异常发生时的方法调用栈信息
    e.printStackTrace();
    }
    }
    }
     
    package com.test01;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class exceptionDemo2 {
        public static void main(String[] args) {
            List<String> lists = new ArrayList<String>();
            try {
                lists.add("黄超");
                lists.add("大鹏");
                System.out.println(lists.get(3)); //会报IndexOutOfBoundsException
            } catch (Exception e) {
                System.out.println("索引错误"); //控制台输出索引错误
            }
        }
    }
  • 相关阅读:
    Java
    Java
    Python 浮点数类型的精度问题
    Ubuntu下pip的更新问题
    初章
    第二次结对编程作业
    第一次结对编程作业
    Shengnan的《构建之法》读书笔记
    Backend事后诸葛亮
    ASE Alpha Sprint
  • 原文地址:https://www.cnblogs.com/zhaobobo001/p/14616627.html
Copyright © 2011-2022 走看看