zoukankan      html  css  js  c++  java
  • 异常

    1、异常简介

    error:系统错误 :内存溢出,虚拟机异常

                                   检查异常:文件异常,连接错误,SQL错误,捕获处理语句

      Error:致命的错误,不可修复的
      Exception:异常,代码写错了
      Exception可分为:
      编译期异常:编译的时候报异常,并且一定要写try-catch,不写的话编译无法通过
        运行时异常:编译的时候不报异常,运行时异常,写不写try-catch都能通过

      常用的运行时异常:NumberFormatException / ArrayIndexOutOfBondsException

      NullPointException(空指针异常)
      当一个引用的值为NULL的时候,试图用他来调用方法或属性的时候就会发生空指针异常
      InputMissmatchException 输入不匹配
      ArithmeticException 算术异常

    2、异常处理和抛出
      try-catch-finally
        Try{
          一些抛出异常的方法
        }catch(Exception e){//可多重catch语句,先小后大,先子类后父类
          处理该异常的代码块
        }finally{ //e.printStackTrace();打印异常信息
          最终执行的代码块
        }

        Throws关键字--把异常抛给调用他的环境,声明将要抛出何种类型的异常(声明)
        Throw关键字--手动抛出异常,将产生的异常抛出(动作)
        public void 方法名(参数列表)throws 异常列表{
          //调用会抛出异常的方法或者throw new Exception();
        }
        class 自定义异常类 extends 异常类型 {//异常类型为意思相近的异常类
                              或基类Exception
        }
    3、异常连

      例;public void test1() throws  DrunkException{

            throw new DrunkException(“喝车别开酒”);

        }

        public void  test2(){

          try{

            test1();

          }catch(DrunkException e){

          RuntimeException newExc = new RuntimeException("司机一滴酒,亲人两行泪");

          newExc.initCause(e);

          throw newExc;

          }

          捕获到的异常可以在当前方法中catch块处理,也可以抛出给调用者处理

  • 相关阅读:
    【题解】 「APIO2019」桥梁 操作分块+带权并查集 LOJ3145
    csp-s模拟测试42「世界线·时间机器·密码」
    csp-s模拟测试41「夜莺与玫瑰·玫瑰花精·影子」
    NOIP模拟测试38「金·斯诺·赤」
    NOIP模拟测试「简单的区间·简单的玄学·简单的填数·简单的序列」
    NOIP模拟测试34「次芝麻·呵呵呵·长寿花」
    理科卷math·english·chinese·biology·chemistry·physics
    NOIP模拟测试28「阴阳·虎·山洞」
    NOIP模拟测试30「return·one·magic」
    NOIP模拟测试29「爬山·学数数·七十和十七」
  • 原文地址:https://www.cnblogs.com/Lune-Qiu/p/7384325.html
Copyright © 2011-2022 走看看