zoukankan      html  css  js  c++  java
  • 2020.10.30

    一、今日学习内容:

    今天学习的是老师再看课上讲的一些有关异常处理的知识。

    1、异常:

    异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况。许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象。

    例如:数组越界和被0除。

    2、关于异常:

    异常处理的目的是依据实际情况提供不同的错误应对策略与手段,使程序更稳定,更安全。

    异常处理的主要用途是提供准确的错误消息,解释失败的原因、位置和错误类型等,同时提供一定的恢复能力,尽可能地保证数据完整性不被破坏,并让程序能继续运行。

    3、Java中的异常捕获语句

    Try{
                //可能发生运行错误的代码;
            }
            catch(异常类型     异常对象引用){
                //用于处理异常的代码
            }
            finally{
                //用于“善后” 的代码
            }

    Java 中所有可捕获的异常都派生自 Exception 类。

    4、使用Java异常处理机制

    (1)把可能会发生错误的代码放进try语句块中。

    (2)当程序检测到出现了一个错误时会抛出一个异常对象。异常处理代码会捕获并处理这个错误。catch语句块中的代码用于处理错误。

    (3)当异常发生时,程序控制流程由try语句块跳转到catch语句块。

    (4)不管是否有异常发生,finally语句块中的语句始终保证被执行。

    (5)如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。

    5、JDK中与异常相关的类

    6、Java中的异常分类:

    Throwable类有两个直接子类:

    Exception:出现的问题是可以被捕获的;

    Error:系统错误,通常由JVM处理。

    可捕获的异常又可以分为两类:

    (1)Check异常:直接派生自Exception的异常类,必须被捕获或再次声明抛出

    (2)Runtime异常:派生自RuntimeException的异常类。使用throw语句可以随时抛出这种异常对象: throw new ArithmeticException(…);

    Error示例:AssertionError

    JDK1.4 以上提供了assert语句,允许程序在运行期间判断某个条件是否满足,不满足时,抛出AssertionError

    例如:

    public static void main(String[] args) {
                    List<Integer> ints = Arrays.asList(1,2,3);
                    int s = 0;
                    for (int n : ints) { s += n; }
                    assert s == 7;
        }

    运行结果:Exception in thread "main" java.lang.AssertionError at Test.main(Test.java:14)

    8、启用assert功能

    默认情况下,assert功能是关闭的,可以在使用java启动JVM时添加参数-ea打开它。

    二:遇到的问题

    没有遇到什么问题;

    三:明日学习计划:

    明天继续学习异常处理的部分知识。

  • 相关阅读:
    Objective-C写出Json文件(可作配置文件)
    关于快速排序的部分内容
    关于折半查找排序的部分内容
    异步下载网络图片
    pytest(5):setup/teardown框架结构
    pytest(4):用例参数化
    pytest(3):pytest运行参数介绍
    pytest(2):使用pycharm运行pytest
    pytest(1):pytest的安装与使用
    pytest文档4-Allure报告清除上一次数据
  • 原文地址:https://www.cnblogs.com/marr/p/14175241.html
Copyright © 2011-2022 走看看