首页 > 其他分享 >异常

异常

时间:2023-09-16 09:01:31浏览次数:25  
标签:定义 对象 处理 catch 异常 throw

1. 异常

  1. 异常是程序在执⾏过程中出现的错误时或不能显⽰正确的逻辑结果所产⽣的对象,即运⾏时错误
  2. 异常的处理机制⽤到的5个关键字
    1. try: 监视⼀段代码在执⾏时是否会发⽣异常
    2. catch: 如果发⽣了异常则捕获异常对象并处理
    3. finally:在程序结束前最后执⾏的代码(出不出不异常都执⾏)
    4. throw: 显⽰地抛出指定的异常对象
    5. throws:声明抛出的异常对象
  3. 常⽤的异常处理⽅式
    1. try{ //处理业务逻辑代码} catch(异常类型 异常对象引⽤){ //处理异常逻辑代码}
    2. 说明总结
      1. 在没有发⽣异常时不会执⾏catch语句块
      2. 在发⽣异常时,捕获的异常对象与catch定义的异常类型⼀致时会执⾏catch语句块
      3. 在发⽣异常时,捕获的异常对象与catch定义的异常类型不⼀致时不会执⾏catch语句块
      4. finally:⽆论是否发⽣异常,都会执⾏的代码,即在退出程序之前最终执⾏的代码
  4. 常见的⼏种系统定义的异常类型
    1. NullPointerException 空指针异常,没有通过对象调⽤成员
    2. ArrayIndexOutOfBoundsException 数组下标越界异常
    3. ArithmeticException 算术异常,除数为0导致
    4. InputMismatchException 输⼊类型不匹配
    5. ClassCastException 类型转换异常
  5. e.getMessage() 这个⽅法获取异常的信息
  6.  throw 显⽰地抛出指定的异常对象
  7.  return 退出程序(执⾏完finally再退出),System.exit(0)退出jvm,0表⽰没有错误
  8. 声明异常主要发⽣在两个⽅法之间的调⽤来决定谁处理异常的问题
  9. 关键字throw⽤于在⽅法内部显⽰创建并抛出指定类型的异常对象
  10. 关键字throws ⽤于声明⽅法可能有异常发⽣,需要调⽤⽅进⾏处理
    1. e.printStackTrace() 主要⽤于跟踪异常发⽣的轨迹和类型
  11. ⾃定义异常
    1. 定义类继承Exception或其任⼀⼦类
    2. 编写构造⽅法,调⽤⽗类的构造⽅法
    3. 抛出⾃定义的异常对象,throw new XXXException("异常信息");
    4. 处理⾃定义的异常对象,throws 或 try-catch

          

标签:定义,对象,处理,catch,异常,throw
From: https://www.cnblogs.com/hsk991213/p/17706274.html

相关文章

  • flask从入门到精通之钩子、异常、context、jinjia模板、过滤器
    一、请求全局钩子【hook】此处的全局钩子,其实就是类似django里面的中间件。也就是只要调用或者注册了,在http请求响应中是必然执行的。在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如:在项目运行开始时,建立数据库连接,或创建连接池;在客户端请求开始时,根据......
  • 【规范】SpringBoot接口返回结果及异常统一处理,这样封装才优雅
    前言......
  • Python学习笔记-Python异常、模块与包
    了解异常什么是异常当检测到一个错误时,Python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的“异常”,也就是我们常说的BUG。bug单词的诞生早期计算机采用大量继电器工作,马克二型计算机就是这样的。1945年9月9日,下午三点,马克二型计算机无法正常工作了,技术人员试......
  • linux中的异常及信号
    在Linux中,异常处理机制主要由信号和异常处理程序(也称为信号处理程序)两个部分组成。信号是一种软件中断,用于通知进程发生了某些事件或出现了某些异常情况。在Linux中,有许多不同的信号,例如SIGSEGV(非法内存访问)、SIGKILL(强制终止进程)和SIGINT(中断信号,通常由Ctrl+C触发)等。当......
  • 多个feign接口使用@FeignClient注解调用同一个名称的微服务时,启动会发生异常
    解决方案:方法1.将feign接口合并方法2.在application.yml文件中增加配置spring.main.allow-bean-definition-overriding=true方法3.在@FeignClient注解上增加contextId属性,确保每个feignclient的contextId唯一。如@FeignClient(name="服务名",contextId="唯一名称")......
  • 如何实现工厂锅炉液位的数据采集与异常报警
    在许多工业生产过程中,锅炉是十分重要的设备,而锅炉液位作为判断设备工作能力与工作效率的重要参数,对于保证锅炉的正常运行和安全生产有重要意义。对此,数之能提供锅炉液位数据采集与异常报警解决方案,实现现场设备的实时监控与管理。 通过接入PLC和液位传感器,可以采集液位数据并实现......
  • 异常知识点的总结
    第一部分:异常及异常处理思考:1.什么是异常?python中有哪些异常?===》异常本身是类print(a)#NameError:name'a'isnotdefined错误类型NameErrorprint(3+'a')#TypeError:unsupportedoperandtype(s)for+:'int'and'str'deff:print(123)#......
  • c++ 32位异常还原
    本文中的例子下载地址https://wwmf.lanzout.com/ij4zq18au9yd密码:2vts确定try的位置首先确定try的位置上面明显是一个SEH结构,在c++异常中,state固定在var_4的位置上,这里state初始化位-1,我们将var_4改名为state上图为ida的反编译图,当state赋值为0时,为try的开始,state赋值为......
  • 匿名函数和常见是内置函数(配合匿名使用)和for循环的原理,异常的捕获
    匿名函数和常见是内置函数(配合匿名使用)和for循环的原理,异常的捕获匿名函数常见的内置函数(配合匿名函数使用)可迭代对象迭代器对象for循环内部原理异常捕获匿名函数匿名函数不需要显示地定义函数名,使用【lambda+参数+表达式】的方式lambda[arg1[,arg2,...argN]......
  • 匿名函数、常见的内置函数、可迭代对象、迭代器对象、for循环的内部原理、异常捕获
    匿名函数注意:匿名函数一般不单独使用匿名函数其实就是没有名字的函数关键字lambda#匿名函数也是必须加括号才能使用匿名函数的语法格式:lambda形参:返回值defindex(形参):返回值''''''''''''res=lambdax,y:x+yprint(res(1,2))!常见内......