首页 > 其他分享 >异常

异常

时间:2023-11-24 17:12:14浏览次数:19  
标签:int ArithmeticException try 处理 catch 异常

什么是异常

异常:是在程序中导致程序中断运行的一种指令流。
在idea中出现蓝色的第一个位置就是异常发生的位置
例如

public class ExceptionDemo01{
  public static void main(String argsp[]){
    int i = 10 ;
    int j = 0 ;
    System.out.println("============= 计算开始 =============") ;
    int temp = i / j ; // 进行除法运算
    System.out.println("temp = " + temp) ;
    System.out.println("============= 计算结束 =============") ;
  }
};
============= 计算开始 =============
Exception in thread "main" java.lang.ArithmeticException: / by zero
at ExceptionDemo01.main(ExceptionDemo01.java:6)

异常体系结构

异常指的是Exception
Exception类, 在Java中存在一个父类Throwable(可能的抛出)
Throwable存在两个子类:
1.Error:表示的是错误,是JVM发出的错误操作,只能尽量避免,无法用代码处理。
2.Exception:一般表示所有程序中的错误,所以一般在程序中将进行try…catch的处理。

RuntimesExcpetion-运行时异常,非受检异常

JVM不会抛出的异常

处理异常

//如果要想对异常进行处理,则必须采用标准的处理格式,处理格式语法如下:
try{
  // 有可能发生异常的代码段
}catch(异常类型1 对象名1){
  // 异常的处理操作
}catch(异常类型2 对象名2){
  //异常的处理操作
}
finally{
  //异常的统一出口
}

多异常捕获的注意点:

1、 捕获更粗的异常不能放在捕获更细的异常之前。
2、 如果为了方便,则可以将所有的异常都使用Exception进行捕获。

try-catch的异常处理流程

1、 一旦产生异常,则系统会自动产生一个异常类的实例化对象。
2、 那么,此时如果异常发生在try语句,则会自动找到匹配的catch语句执行,如果没有在try语句中,则会将异常抛出.
3、 所有的catch根据方法的参数匹配异常类的实例化对象,如果匹配成功,则表示由此catch进行处理
4、 发生错误try会直接去匹配catch块,不会接着执行try语句块的内容

throw和throws

throw异常抛出自己处理,throws异常抛出用户处理

throw

public int calc(int a,int b) {
    try{
        int c=0;
        if(b!=0)    c=a/b;
        else throw new ArithmeticException("0 is Divisor");
    }catch(ArithmeticException ex){
        System.out.pritln(ex.getMessage());
    return c;
}

throws

public int calc(int a,int b) throws ArithmeticException{
    try{
        int c=0;
        if(b!=0)    c=a/b;
        else throw new ArithmeticException("0 is Divisor");
    return c;
}

Q:
什么情况异常抛给用户,什么情况我们自己处理?
抛给用户:传参的错误

标签:int,ArithmeticException,try,处理,catch,异常
From: https://www.cnblogs.com/aihaotian/p/17854190.html

相关文章

  • python wps异常处理: 服务启动异常-发生意外
    服务异常:找到单元xlwings._xlwindowsself._xl=COMRetryObjectWrapper(DispatchEx("ket.Application"))#内核不支持,只有was无excel参考:https://blog.csdn.net/oldman_g/article/details/124022289 ---发生意外:路径不完整,保存完整路径 ......
  • 使用Python在Tkinter中保存异常
    我为其他使用Tkinter接收用户输入的人开发了几个Python程序。为了保持简单和用户友好,命令行或python控制台永远不会打开(即。.pyw文件),因此,当出现异常时,我正在研究如何使用日志库向文件写入错误文本。然而,我很难让它真正捕获异常。例如:我们编写一个会导致错误的函数:defcause_a......
  • Python使用sys.excepthook统一处理异常,并将异常信息记录到日志中
    importsysimporttimeimporttracebackfromdatetimeimportdatetimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdriver.support.uiimportWeb......
  • 普通全局异常存在的问题 GlobalExceptionHandler
    简单搭建Feign框架parent<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId>......
  • Unity异常提示 Invalid worldAABB. Object is too large or too far away from the or
    Unity在编辑器退出EditMode进入PlayMode之前,调用了一次Start和Update,然后提供了空的数据。这个时候容易造成除以0的情况,但是Unity没有立刻抛出异常,而是继续执行,生成了一个无穷大的数值。......
  • 引发C++异常的常见原因(一)从报错地址到错误症状
    在进行C++软件开发的过程中,会遇到很多问题,网上差不到,或者查到了也没什么信息可以用,所以这里想到了就将一些常见的问题放在一起,归纳整理一下。本文主要的内容来源于CSDN的大佬文章:https://blog.csdn.net/chenlycly/article/details/125529931,我主要是做个笔记常见问题1.变量未......
  • 第 11 节 Python程序调试和异常处理技巧
    常见的错误语法错误:例如,不正确的缩进、未定义的变量、括号不匹配等。运行时错误:例如,尝试访问不存在的文件、内存溢出等。类型错误:例如,将字符串与整数相加等。逻辑错误:例如,程序没有按照预期的流程执行、条件判断不正确等。输入错误:例如,无效的输入、输入的数据类型不正确等。常见的错......
  • 线上ES集群参数配置引起的业务异常案例分析
    作者:vivo互联网数据库团队-LiuHuang本文介绍了一次排查Elasticsearchnode_concurrent_recoveries引发的性能问题的过程。一、故障描述1.1故障现象1.业务反馈业务部分读请求抛出请求超时的错误。2.故障定位信息获取故障开始时间19:30左右开始故障抛出异常......
  • Springboot全局异常处理
    自定义异常枚举类枚举类用于定义自定义的异常类型,对应自定义错误码,错误信息,状态码publicenumErrorCodeEnum{USERINFO_EXCEPTION(10001,HttpStatus.INTERNAL_SERVER_ERROR,"UserInfoException"),AUTHORIZATION_EXCEPTION(10002,HttpStatus.UNAUTHORIZED,"Authoriza......
  • 3种Sentinel自定义异常,你用过几种?
    SpringCloudAlibabaSentinel是目前主流并开源的流量控制和系统保护组件,它提供了强大的限流、熔断、热点限流、授权限流和系统保护及监控等功能。使用它可以轻松的保护我们微服务,在高并发环境下的正常运行。那么,当程序触发了限流和熔断规则时,如何自定义返回的异常信息呢?这是......