zoukankan      html  css  js  c++  java
  • 5.异常

    异常:

    是指程序运行过程中所发生的不正常的事件,他会终端正在运行的程序
    用异常机制去处理。
    机制:
    try 执行可能出现异常的代码。
    catch 捕获异常

    throws :生命方法可能抛出的各种异常,异常向上抛如果异常逐长

    //只要有throws,强制要求,

    throw:手动抛出异常

    finally:无论是否发生异常,代码总能 执行

    try{
    //代码段(此处不会出现异常)

    如果代码段二产生异常就直接跳到catch
    }catch{


    }finally{
    直接跳出代码段
    }
    不走finally 时候:

    什么情况下不走finally()sys.exit(1);退出java虚拟机;就不走了


    三种情况:
    1。第一种情况,正常

    public void method(){
    try {
    // 代码段 1
    // 产生异常的代码段 2
    // 代码段 3
    } catch (异常类型 ex) {
    // 对异常进行处理的代码段4 } //
    代码段5
    }


    /*
    * try(){

    可能产生的异常!1
    * }catch{

    捕获异常
    * }finally{
    * 程序结束!!都会执行
    }
    * */
    e.getMessage();获得异常信息。
    e.printStackTrace();//获得异常的堆栈信息及错误的位置


    请输入一个整数:
    sdf
    报错:Exception in thread "main" java.util.InputMismatchException

    翻译:输入不匹配的异常

    请输入一个整数:
    1
    请输入第二个整数
    0
    Exception in thread "main" java.lang.ArithmeticException: / by zero
    at cn.happy.test01.TestException.main(TestException.java:14)

    报错:除数不能为0的异常

    为了避免异常:


    弊端:
    1.代码臃肿
    2.程序员要花很大精力‘堵漏洞’
    3.程序员很难堵住所有‘漏洞’

    异常分类

    Object

    Throwable
    exception
    SqlException RuntimeException
    NullPointerException
    ClassNotFoundException NumberFormatException

    异常日志:
    throws :声明异常,多个异常使用‘,’隔开

    1.throws与throw的区别?

    抛出多个
    只能抛出一个。

  • 相关阅读:
    C++ std::map::erase用法及其陷阱
    写在分类之首-----to do list!
    Gradle系列教材(译)
    Android进阶-UIL分析
    ArrayList源码解析
    Android进阶-MVP
    高质量代码-树的子结构
    高质量代码-并和链表
    高质量代码-翻转链表
    高质量代码-链表中倒数第k个结点
  • 原文地址:https://www.cnblogs.com/hualishu/p/8513916.html
Copyright © 2011-2022 走看看