首页 > 编程语言 >Java异常机制

Java异常机制

时间:2024-04-30 09:46:50浏览次数:27  
标签:语句 Java try finally catch 机制 异常 throw

  1. 异常的根接口是Throwable,其下分为两大类:Error和Exception
  2. Error通常是致命的错误,是程序无法控制和处理的,当出现这些异常时,JVM一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常
  3. 异常处理机制:让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰
  4. 异常机制中用到的几个关键字:try,catch,finally,throw,throws
    • try – 用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出。
    • catch – 用于捕获异常。catch用来捕获try语句块中发生的异常。
    • finally – finally语句块总是会被执行。它主要用于回收在try块里打开的资源(如数据库连接、网络连接和磁盘文件)。
      只有finally块执行完成之后,才会回来执行try或者catch块中的return或者throw语句,如果finally中使用了return或者throw等终止方法的语句,则就不会跳回执行,直接停止。
    • throw – 用于抛出异常。
    • throws – 用在方法上,用于声明该方法可能抛出的异常。主方法上也可以使用throws抛出。
      如果在主方法上使用了throws抛出,就表示在主方法里面可以不用强制性进行异常处理,如果出现了异常,就交给JVM进行默认处理,则此时会导致程序中断执行。
  5. 自定义异常
    • 自定义异常应该继承Exception或RuntimeException类;
    • 在抛出异常时,应该使用throw关键字,且要提供有意义的异常信息;
    • 处理异常时,应该使用try-catch语句块;
    • 自定义异常类要遵循Java编程规范;

标签:语句,Java,try,finally,catch,机制,异常,throw
From: https://www.cnblogs.com/hytip/p/18167141

相关文章

  • 编写简单的Java代码:HelloWorid
    HelloWorld随便新建一个文件夹,存放代码新建一个Java文件文件后缀名为.javaHello.java【注意点】系统可能没有显示文件后缀名,我们需要手动打开编写代码publicclassHello{publicstaticvoidmain(String[]args){System.out.print("Hello,World!");......
  • Java面向对象编程
    什么是面向对象:以类的方式组织代码,以对象的来组织(封装)数据三大特性:封装,继承,多态构造器:和类名相同,没有返回值;作用:new本质就是在调用构造方法,默认使用无参构造;还可以初始化对象的值;注意:定以有参构造之后,若还想使用无参构造的话必须要显示的定义;封装:数据的隐藏;通常应禁止......
  • Day1-Java介绍及JDK的安装配置
    Day1-JavaSE基本Dose命令切换盘符:E:=cd/dE:(跨盘切换要+/d)查看目录下所有文件:dir切换目录:cd+路径返回上一级:cd..清屏:cls退出终端:exit查看电脑IP:ipconfig打开计算器:calc打开画图:mspaint打开记事本:notepad测试网络:ping+url创建文件夹:md+文件夹名创建文件:cd......
  • java获取树状结构
    /***转成树状结构*/publicList<DictVO>toTree(List<DictVO>list){List<DictVO>treelist=newArrayList<DictVO>();for(DictVOoutBean:list){for(DictVOinBean:list){Longoutid=outBean.getId();Longinpid=inBean......
  • 8.Java异常(后续将添加编辑)
    异常最全最详细的Java异常处理机制异常处理机制抛出异常捕获异常处理异常关键字:try,catch,finally,throw,throws;packagecom.exception;publicclassText{publicstaticvoidmain(String[]args){inta=1;intb=0;try{......
  • Mysql锁机制与优化实践以及MVCC底层原理剖析
    学习来源-图灵课堂https://vip.tulingxueyuan.cn锁学习参考:https://juejin.cn/post/7307889500545253395  锁机制为了保证数据的一致性,当访问共享变量的时候我们可以针对共享数据加锁,但是加锁要时要注意加锁的成本,还有加锁的粒度,还有就是是否会发生死锁,还有就是发生了死锁......
  • bugku_ez_java_serializd
    下载附件看到依赖CC3.1,没有waf,直接CC5打了。packagecom.eddiemurphy;importorg.apache.commons.collections.Transformer;importorg.apache.commons.collections.functors.ChainedTransformer;importorg.apache.commons.collections.functors.ConstantTransformer;impo......
  • [2022DASCTF Apr X FATE 防疫挑战赛] warmup-java
    没错,还是java。我就跟java杠上了。分析先看依赖:没有啥特别的。审一下源码:IndexController.java:warmup路由下传参data,下面把十六进制转为字节直接反序列化了。看下动态代理MyInvocationHandler.java:看一下Utils的hexStringToBytes方法: 下面分析来自Java专题-简......
  • <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please en
    环境:weblogic10.3.6jdk1.6 myeclipse10.7今天升级了一下myeclipse到10.7,然后配置weblogic,启动的时候报<BEA-000438><Unabletoloadperformancepack.UsingJavaI/Oinstead.Pleaseensurethatwlntio.dll之前用myeclipse8.5没报过这个问题。后来上网看了一下,是找不到......
  • 4.29 包机制、Scanner
    1.包机制包相当于操作系统的文件夹src下新建包2.JavaDoc/**+Enter生成文档注解3.Scanner补充:sout是System.out.println的快捷键4用scanenr写一个小例子//输入多个数字,并求其总和与平均数,每输入1个数字用回车确认,通过输入非数字来结束输入并输出总和和平均数`......