当前位置: 首页 > news >正文

java篇12-Java中的异常

java中的异常是一个类处理异常就是创建一个异常类对象并抛出这个对象java处理异常的机制是中断异常不是语法错了语法错了编译不通过不会产生字节码文件不会运行而异常是在运行过程中导致JVM非正常停止。1.异常体系异常的根类是java.lang.Throwable,其下有两个子类java.lang.Error错误不能处理和java.lang.Exception通常所说的异常是指Exception)2.Exception:编译异常与运行异常IDE会显示编译异常不会显示运行异常 1编译异常是在进行编译时出现的异常。2运行异常编译不会出错但是运行过程中会报错。运行异常的典例是访问越界。例如下例javac编译时未出错java运行时报错对于含有异常通过可以使用try-catch结构抛出异常后程序可以继续执行。如下例try-catch抛出了异常Exception e但是后面的System.out.println(“后续代码”);这条语句也执行了。注意并不是try中语句都不执行而是从出错的地方停止执行3.错误(Error:通过编译运行时出错错误必须修改源代码否则不能正常执行。4.throwsthrows其实对于方法来说throws语句写与不写差别不大–不论是程序字节码在JVM运行中出现异常还是用throw语句显式抛出可能后台运行时异常的转交过程不同在一个函数名后面写了throws是把函数执行过程中产生的异常抛出交给JVM处理JVM接收异常后会终止运行未使用try-catch捕获异常并输出异常信息。throws 只是声明该方法可能抛出异常提醒调用者处理真正决定程序是否终止的是异常有没有被 catch 捕获。如果异常被 catch 住程序正常继续运行如果异常一直往上抛到 main 且未被捕获JVM 才终止。5.throwthrow(注意不是throws:程序执行过程中throw异常后程序终止执行。throw关键字后面创建的异常是编译异常必须处理这个异常要么throws要么try-catch。当然上面指定抛出的IOException不对。RuntimeException是运行期异常运行期异常及其子类异常不用程序员处理交给JVM处理NullPointerException空指针和ArrayIndexOutOfBoundsException数组越界访问属于运行期异常。下例是一个ArrayIndexOutOfBoundsException数组越界访问上面这个例子不常见因为对于异常的处理方法为抛出异常或者try-catch捕获后面会讲到这里其实是抛出异常了程序终止。注意如果函数中new的异常对象不是运行期异常对象或其子类的异常对象则5.1有两种异常处理方式1函数声明后必须加关键字throws格式函数里throw几个异常对象throws后面就要相应地写几个除非某些是另一个地子类则可以只写父类。2用try-catch捕获异常另外可以写加上final模块无论是否抛出异常都会执行。格式注意finally 块一定会在方法返回或抛出异常之前执行除非 System.exit() 或 JVM 崩溃。即使 catch 中有 throw也要先等 finally 执行完才会把异常抛给上层调用者。6.Objects非空判断java的内置类Objects有一个静态函数可以判断参数是否为null若是则会抛出异常。使用它可以简化代码而不用写if语句再new NullPointerException“xxx”。Objects的静态方法源码使用方式上例中若obj为空指针则会抛出异常。该静态方法还有一个重载方法多了一个字符串参数该参数抛出异常信息7.关于子父类的异常
http://www.zskr.cn/news/1345194.html

相关文章:

  • 为什么高端外墙砖更值得投入?以国龙为例,揭秘一线品牌在安全、设计与工艺上的深层价值 - 品牌评测官
  • 中文聊天语料库:一站式解决对话AI训练数据难题
  • 2026年精选AI写作辅助网站合集(实测甄选版)
  • 终极指南:3分钟搞定Windows系统Apple USB网络共享驱动安装
  • Bilibili-Evolved界面美化终极指南:打造个性化B站浏览体验
  • 中兴光猫工厂模式解锁神器:zteOnu让你的网络管理权限瞬间升级
  • Sub高级用法:如何实现命令组合与脚本复用
  • 当AI成为黑客的“军师”:我们该如何反制智能化的网络钓鱼?
  • 如何快速实现英雄联盟皮肤自定义:R3nzSkin国服特供版完整使用指南
  • Winutils深度解析:Hadoop Windows兼容性架构设计与企业级实践指南
  • XUnity.AutoTranslator:Unity游戏实时翻译插件的架构解析与实战指南
  • WarcraftHelper:魔兽争霸III终极增强插件 - 简单三步让经典游戏焕发新生
  • 2026淘宝客服外包公司排行:资质与服务实力评测 - 互联网科技品牌测评
  • 3步打造个性化界面:No!! MeiryoUI字体自定义终极解决方案
  • Nexus Mods App:5大核心功能解决游戏模组管理难题
  • 如何轻松提取视频硬字幕:本地OCR字幕识别完整指南
  • 深度解析:WinDiskWriter如何破解macOS制作Windows启动盘的技术壁垒
  • cpulimit在容器环境中的应用:Docker与Kubernetes资源限制替代方案
  • 微信好友真相大揭秘:3步揪出那些悄悄删掉你的人
  • 郑州黄金回收全街道攻略|7家门店对比,不压价不扣损实测 - 润富黄金珠宝行
  • Linux系统上免费运行Photoshop CC的终极指南:3步轻松部署专业图像编辑环境
  • 大规模人流车流管控,无感定位并发能力远超UWB
  • vscode-icons超级英雄图标集合:蝙蝠侠、钢铁侠等经典角色个性化定制指南
  • 密闭暗光环境,无感定位稳定运行,UWB信号极易衰减
  • 洛阳酱牛肉推荐哪家?对比多家后,这家本土品牌性价比和品质双拔尖 - 中媒介
  • 3分钟让GitHub变中文:免费完整的GitHub汉化插件终极指南
  • 极速音频解密引擎:qmc-decoder突破性QMC格式转换技术
  • 毫米级精准不复杂!YOLO26 姿态模型在前臂解剖点检测的对比研究
  • Windows iPhone网络共享驱动终极指南:3分钟快速安装苹果驱动
  • 如何高效汉化Kirikiri引擎视觉小说游戏:完整工具指南