首页 > 其他分享 >异常机制

异常机制

时间:2023-01-04 13:47:13浏览次数:27  
标签:ArithmeticException try finally catch 机制 异常 public

异常机制

什么是异常

异常是指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等

异常发生在程序运行期间,它影响了正常的程序执行流程

异常的三种分类

  • 检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在的文件时,一个异常就发生了,这些异常在编译时不能被简单的忽略。

  • 运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相比,运行时异常可以在编译时被忽略。

  • 错误:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

异常处理机制

  • 抛出异常

  • 捕获异常

  • 异常处理五个关键字

try、catch、finally、throw、throws

例1:

package com.fisherstudy.exception;

public class Demo01 {
   public static void main(String[] args) {
       int a=1;
       int b=0;
       //假如要捕获多个异常,catch从小到大
       try{//try监控区域
           System.out.println(a/b);
      }catch(ArithmeticException e){//catch(想要捕获的异常的类型) 捕获异常
           System.out.println("程序出现异常,变量b不能为0");
      }finally { //处理善后工作
           System.out.println("finally!");
      }
       //finally 可以不要finally,假设IO流,资源,关闭!
  }
}

运行结果如下:

程序出现异常,变量b不能为0
finally!

例2:

package com.fisherstudy.exception;

public class Demo02 {
   public static void main(String[] args) {
       //快捷键ctrl+alt+t
       try {
           new Demo02().test(1,0);
      } catch (ArithmeticException e) {
           throw new RuntimeException(e);
      }
  }
   //假设这方法中,处理不了这个异常,方法上抛出异常
   public void test(int a,int b) throws ArithmeticException{
       if (b==0){//throw throws
           throw new ArithmeticException();//主动抛出异常,一般用在方法中使用
      }
  }
}

标签:ArithmeticException,try,finally,catch,机制,异常,public
From: https://www.cnblogs.com/Fisherstudy/p/17024593.html

相关文章

  • IDEA中Cannot resolve plugin org.apache.maven.plugins:maven-clean-plugin:3.2.0的
    1---在打开Maven/conf文件,将原有的mirror参数改为alimavencentralaliyunmavenhttp://maven.aliyun.com/repository/public2---在xml里面添加alimavenhttps......
  • 异常机制
    异常机制异常是指程序运行中出现的不期而至的各种状况,如文件找不到了,非法参数等异常发生在程序运行期间,影响了程序的正常执行流程。exception异常分为两大类:Error和Exc......
  • springboot出现MaxUploadSizeExceededException 异常
    写springboot项目上传图片遇到MaxUploadSizeExceededException异常,找到一篇文章完美解决SpringBoot默认上传文件大小限制是1MB,默认单次请求大小是10MB,超出大小会跑......
  • java 通用工具类异常
    /***工具类异常**@authorruoyi*/publicclassUtilExceptionextendsRuntimeException{privatestaticfinallongserialVersionUID=8247610319171......
  • spring项目中添加@Transactional注解后出现NoSuchBeanDefinitionException异常的解决
    https://blog.csdn.net/qq_37059367/article/details/83145779数据库配置文件中修改配置文件里这一句<tx:annotation-driventransaction-manager="transactionManager"/......
  • file_get_contents重试机制的实现
    最近出现Warning告警file_get_contents(http://a.b.com/xxx/yyy/zzz/?token=da606c144dd9e62e4c3cd701d444638515441538801672658102):failedtoopenstream:Connectio......
  • NumPy科学计算库学习_010_NumPy数组的广播机制
    NumPy数组广播机制的说明当两个数组形状不同时,可以通过扩展数组的方式实现计算操作。这种机制就叫做广播机制。1维NumPy数组的广播机制\[加法:\begin{bmatrix}{0}&{0}&......
  • cereas学习(3-2) 稳健的曲线拟合 y=e(0.3x+0.1) 加了高斯噪声0.2 还有额外异常值
    稳健的曲线拟合¶现在假设我们得到的数据有一些异常值,即我们有一些不服从噪声模型的点。如果我们使用上面的代码来拟合这些数据,我们将得到如下所示的拟合。注意拟合曲线如......
  • 异常
    异常Error无限循环选中代码ctrl+alt+t创建环绕方式java定义好的一堆异常类型多个catch的调用时,顺序要从小到大自动创建的throw会抛出和当前错误信息finally......
  • ASP.NETCore异常Filter
    什么是FILTER1、切面编程机制,在ASP.NETCore特定的位置执行我们自定义的代码2、ASP.NETCore中的Filter的五种类型:Authorizationfilter、Resourcefilter、Actionfilter、E......