首页 > 其他分享 >异常问题解决

异常问题解决

时间:2024-10-18 19:42:47浏览次数:7  
标签:try ... 抛出 问题 catch finally 解决 异常

    异常:java程序编译或运行过程中出现的问题
    Throwable:
        Error: 表示非常严重的问题,自己无法解决的问题
        Exception:
            除了RuntimeException其它异常【编译时期异常】: 一般指的是异常尚未处理就编译了
            RuntimeException【运行时期异常】: 运行过程中报错了,一般情况下是因为语法逻辑不正确导致

    JVM遇到问题时,默认的处理方案是:停止程序,抛出错误。
##    异常的处理方案一 :
      1、try...catch...finally
         为了保证规范性尽量用try ... catch ..finally  catch捕获异常返回
      2.无论try中的代码是否出错,finally都会执行。
     finally一般来说,用作释放资源的作用。
try...catch使用注意事项:
     1、当try中出现异常时,JVM会对应创建一个异常类对象
     2、自上而下会与catch中的异常进行匹配,若匹配上就相当于处理了,执行catch中的逻辑
     3、若try中有多个异常,当第一个异常触发时,try中的其它后续代码都不会执行,JVM会对应创建一个异常类对象进行第二步匹配
     4、可以直接写一个catch里面是所有异常的父类、   catch (Exception e)
     5、若存在多个catch匹配,需要将父类异常往后写   
     6、若使用jdk新特性的写法的话,异常类之间不能存在继承系   
点击查看代码
        try {
            System.out.println(arr[8]);// newArrayIndexOutOfBoundsException()
            System.out.println(3/0);
        } catch (Exception e) {
            //void printStackTrace()
            //将此throwable和其追溯打印到标准错误流。
            e.printStackTrace();
        }finally{
System.out.println("who are you");
}

 System.out.println("i am wangjun");
##  异常的处理方案二 :  抛出异常
    throws: 抛出
    在方法的定义上抛出异常类, throws本身是不会处理异常的,只是当时方法内部不用处理了,
    但是当调用者调用有问题的方法时,需要调用者进行处理

    throw: 抛出
    在方法内部抛出异常对象,表示一个确定的异常

    注意:
        当调用者调用抛出运行时期异常的方法时,可以选择不去处理,也能运行。
        当调用者调用抛出编译时期异常的方法是,必须要进行处理,否则编译不通过无法运行。

   小故事理解 throw throws try...catch 的使用:
        江川是一个快乐的小矿工,有一天他挖到了一个远古炸弹

标签:try,...,抛出,问题,catch,finally,解决,异常
From: https://www.cnblogs.com/wangxiaojian-lina/p/18474939

相关文章

  • 【智能算法应用】鸭群算法求解二维路径规划问题
    摘要本文研究了鸭群算法在二维路径规划问题中的应用,旨在解决复杂障碍环境下的最优路径搜索问题。通过模拟鸭群觅食行为,鸭群算法能够有效避开障碍物,找到最短路径。实验结果表明,鸭群算法在路径规划中表现出较快的收敛速度和较优的路径规划效果,适用于多种复杂环境下的路径优化......
  • 【智能算法应用】引力搜索算法求解二维路径规划问题
    摘要引力搜索算法(GSA)是一种基于引力学说的启发式算法,用于解决复杂的优化问题。本文应用GSA于二维路径规划问题,通过优化路径来避开障碍物并达到目标点。实验结果表明,GSA在路径规划中具有良好的表现,尤其在多障碍场景中,其优化路径平滑且避障效果显著。理论引力搜索算法是......
  • 搜索,问题 I: 围成面积
    题目描述编程计算由“*”号围成的下列图形的面积。面积计算方法是统计*号所围成的闭合曲线中水平线和垂直线交点的数目。如下图所示,在10×10的二维数组中,有“*”围住了15个点,因此面积为15。 输入10×10的图形。输出输出面积。样例输入 复制0000000000000......
  • 《地狱已满2》游戏报错lpk.dll文件丢失怎么办?玩家必看《地狱已满2》遭遇lpk.dll丢失故
    对于热爱《地狱已满2》这款游戏的玩家来说,遇到“lpk.dll文件丢失”的报错信息无疑是一个巨大的困扰。这个错误通常意味着你的系统中缺失或损坏了lpk.dll这个动态链接库(DLL)文件,它是Windows系统的一部分,用于支持某些音频和多媒体功能。游戏运行时可能依赖这个文件,缺乏它会导致游......
  • 解决mybatis用Map返回的字段全变大写的问题
    mybatis通常情况都是用javabean作为resultType的对象,但是有时也可以使用Map去接收。${value}如果使用Map,返回来的字段名全是大写,处理方法Selectnameas“name”fromv_zhyl_zxzf_hqyzflb加上字段别名加上双引号就可以了补充知识:Mybatis查询返回类型为Map空值字段不显示项目使......
  • 【初窥算法】动态规划之背包问题
    背包问题概述背包问题(KnapsackProblem)是计算机科学和运筹学中的一个经典问题,通常描述为:给定一组物品,每种物品都有自己的重量和价值,在限定的最大承重(背包容量)下,如何选择物品使得背包内物品的总价值最大。背包问题有多种表现形式,包括但不限于:0/1背包问题:有n种物品,每种物品......
  • 基于灰狼优化算法(GWO)解决柔性作业车间调度问题(Matlab代码实现)
     ......
  • CosyVoice: 多语言大规模语音生成模型的全栈解决方案
    CosyVoice简介CosyVoice是由FunAudioLLM团队开发的一个开源多语言大规模语音生成模型。它提供了从推理、训练到部署的全栈解决方案,旨在推动语音合成技术的发展和应用。CosyVoice具有以下主要特点:多语言支持:支持中文、英语、日语、粤语、韩语等多种语言的语音合成。零样本语......
  • 彻底解决【“curl: (7) Failed to connect to raw.githubusercontent.com port 443: C
     用如下命令下载安装msf时,提示curl:(7)Failedtoconnecttoraw.githubusercontent.comport443:Connectionrefusedcurlhttps://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb>msfinsta......
  • ArkWeb网络安全基础 - 跨域请求与解决方案
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。简介华为鸿蒙HarmonyOSNext系统的Ar......