• Java--异常处理


    1.在运行遇到各种各样的异常,开发过程中语法错误和逻辑错误不是异常---继承Throwable根接口

      Java.lang.Throwable

               |------Error:错误,程序不进行处理

                |------Exception:异常,编写需要进行处理

    异常分为:Error(JVM 内部的错误无法修改);在主程序 main(args)--栈溢出;堆空间内存溢出

    exception:空间针访问,读取文件不存在和网络异常

     Java异常的处理:抛出异常的处理:.class 文件

    Java中 SQLException,IOException,ClassNotFoundException+RuntimeException(运行时异常)

    java 提供的异常处理抓抛异常:执行代码时,一旦出现异常,在异常代码处生成相对应的异常类型

    处理异常第一种方式:try--Catch--finally:finally 不管是否出现异常总会执行

          Catch语句内部对异常对象的处理:自己输出;getMessage()--出现问题的地方  或者printStackTrace()---输出运行过程运行方式

         自动的抛出异常(e.printStackTrace() +e.getMessage) + 手动抛出 throw new Exception(“   ”)---抛出Throwable下的异常

     1.自定义异常类继承已有异常类
     2.提供一个序列号,重载多个构造器 手动抛出,出现异常在已有异常中并没有,自定义的异常

    3.子类重写父类时候,子类抛出异常不能比父类大
     1 // 1.自定义异常类继承已有异常类
     2 // 2.提供一个序列号,重载的构造器
     3 public class MyException extends RuntimeException{
     4 
     5     static final long serialVersionUID = -7034897190745766939L;
     6 
     7     public MyException()
     8     {}
     9     
    10     public MyException(String message)
    11     {
    12         super(message);
    13     }

    throw Vs throws: ****

    throw y用于抛出异常手动抛出异常(异常的生成阶段)

    throws:声明方法抛出各种异常类--在方法中对抛出异常进行声明(异常的处理方式)

    throw--上流排污,throws---下流

     注意 finally方法在比抛出异常在前面,抛出异常只有被Catch捕获才能被打e.prinStackTrace()印输出:throw 抛出异常抛出到主程序才被Catch到中因此输出顺序在后面

    下面:Catch捕获在finally前面,抛出的异常只有被捕获才能输出

     1 private void MethodA() {
     2         try{
     3             
     4             System.out.println("进入到A方法");
     5             throw new Exception("异常类型错误");
     6         }catch(Exception e)
     7         {
     8             System.out.println(e.getMessage());
     9         }
    10         finally{
    11             System.out.println("A 的finally");
    12         }

  • 相关阅读:
    [题解] [HNOI2014] 世界树
    [luogu 5301][bzoj 5503] [GXOI/GZOI2019] 宝牌一大堆
    [HDU4507]吉哥系列故事——恨7不成妻
    [国家集训队]聪聪可可
    [模板]点分治
    [2018.8.12]模拟赛B组
    JZOJ5804. 【2018.08.12提高A组模拟】简单的序列
    2018.8.10模拟赛
    2018.8.8模拟赛
    [2018.8.6]模拟赛
  • 原文地址:https://www.cnblogs.com/woainifanfan/p/6773072.html
Copyright © 2020-2023  润新知