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

    异常的概念:程序在运行时,发生了不可预测的事件,它阻止了程序按照我们程序员的预期正常执行

    什么是异常处理机制呢?

    能让程序在异常发生时,按照代码预先设定的异常处理逻辑,针对性地处理异常,让程序恢复正常并继续执行。

     

    只有exit之后才不会走finally

    根据编译器对异常的处理要求,异常分为两类:

    运行时异常(RuntimeException):在程序运行期间产生的异常!-

    受查异常  (checked  Exception) :在程序编译期间产生的异常! 

    异常的使用

    异常处理方式分为两种:(5个关键字)

    1.使用try..catch..finally

    2.使用throw抛出异常和throws声明异常

    try的使用

    1. try块中放可能发生异常的代码
    2. try不能单独使用,必须和catch或者finally中的其中一个联合使用
    3. 如果执行完try并且不发生异常,则接着去执行finally代码块和finally后面的代码;
    4. 如果没有finally代码块,则直接执行catch之后的代码
    5. 如果发生异常,则尝试去匹配对应异常的catch代码块
    6. 如果当前try块中发生的异常在后续的所有catch中都没捕获到,则先去执行finally
    7. 如果try中没有发生异常,则所有的catch块将被忽略。
    8. Java中可以将多个异常声明在一个catch中

    finally的使用

    1.无论异常是否发生,finally代码块都会执行;

    2.如果try代码块中出现return,先执行finally代码块之后return;

    3.遇到System.exit(int status),不会执行finally代码块

    System.exit(0):正常退出

    System.exit(1或者非0):非正常退出,一般放置在catch代码块中

    4.主要执行一些清理工作,比如关闭流,释放数据库连接资源......

    throw和throws的使用

    异常抛出的分类

    01.系统自动抛出异常

      我们没有使用异常处理机制,系统默认遇到异常时,抛出的异常!

    02.书写语句抛出异常

      使用throw抛出异常,throws声明异常

    throw的使用

    语法:

       throw  new  异常类型([异常提示语句]);

    throws的使用

    语法:

       方法名称  throws  异常类型1,异常类型2;

    什么是异常链?

    异常链是指将捕获的异常包装进一个新的异常中,新异常中记录了原始异常的信息。并重新抛出的异常处理方式。

    自定义异常的注意事项

    1.异常类必须是Throwable的子类

    2.定义受查异常,建议继承Exception

    3.定义运行异常,建议继承RuntimeException

    异常的使用原则

    1.异常只能用于非正常情况

    2.为异常提供说明文档

    3.尽可能的避免异常,特别是运行时异常

    4.保持异常的原子性

    5.避免过于庞大的try代码块

    6.在catch中指定具体的异常类型

    7.不要在catch块中忽略捕获的异常

  • 相关阅读:
    39页第3题 求x的n次幂
    实验4-1 求花费电费的金额
    实验二利用循环计算多个圆柱体体积
    39页第一题 四则运算及其余数
    实验一计算圆的面积
    7-14
    第六章例6-3
    第六章例6-2
    第六章例6-1
    第五章例5-9
  • 原文地址:https://www.cnblogs.com/fkx1/p/9255774.html
Copyright © 2011-2022 走看看