首页 > 其他分享 >27.异常

27.异常

时间:2023-03-22 11:33:52浏览次数:37  
标签:Exception 27 Java 错误 处理 虚拟机 异常

异常

1.什么是异常?

软件程序在运行过程中,有可能会出现各种问题,我们称之为异常,Exception。

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

2.异常体系结构

Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。

异常分为两大类,错误Error和异常Exception。

3.错误Error

Error类对象由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。

Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需的内存资源时,将出现OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。

还有发生在虚拟机试图执行应用时,如类定义错误(NoClassDefFoundError)、链接错误(LinkageError)。这些错误是不可查的,因为它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的状况。

4.异常Exception

在Exception分支中有一个重要的子类RuntimeException(运行时异常)

  • ArrayIndexOutOfBoundsException(数组下标越界)
  • NullPointerException(空指针异常)
  • ArithmeticException(算数异常)
  • MissingResourceException(丢失资源)
  • ClassNotFoundException(找不到类)

这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。一般是由程序的逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。

5.总结

  • 处理运行时异常时,采用逻辑去合理规避的同时,辅助try-catch处理
  • 在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
  • 对于不确定的代码,也可以加上try-catch,处理潜在的异常
  • 尽量去处理异常,切忌只是简单的调用printStackTrace()去打印输出
  • 具体如何处理异常,要根据不同的业务需求和异常类型去决定
  • 尽量添加finally语句块去释放占用的资源

标签:Exception,27,Java,错误,处理,虚拟机,异常
From: https://www.cnblogs.com/Zz1001/p/17243077.html

相关文章

  • Nginx异常信息 upstream timed out (110: Connection timed out) while reading respo
    upstreamtimedout(110:Connectiontimedout)whilereadingresponseheaderfromupstreamNginx代理配置如下:###proxysettingsstartproxy_http_version1.1;p......
  • java异常相关问题
    java中有哪些RunTimeException异常RuntimeException           是那些可能在Java虚拟机正常运行期间抛出的异常的超类,是所有运行时异常的顶级接......
  • P2766 最长不下降子序列问题
    给定正整数序列x1…,xn1.计算其最长不下降子序列的长度ss。2.如果每个元素只允许使用一次,计算从给定的序列中最多可取出多少个长度为ss的不下降子序列。3.如果允许......
  • 服务器上java项目启动异常慢 (亲测有效)
    #情境最近在做项目对接方面的工作,相关的服务器都是对方直接分配的,当我们项目运行的时候简直是异常的慢,不能忍受的那种平时我们项目启动要3分钟左右,现在要30分钟,是可忍孰不......
  • [Java SE]Java SE异常合集
    1概述2问题集Q1:JAVA应用程序启动时报"AfatalerrorhasbeendetectedbytheJavaRuntimeEnvironment:EXCEPTION_ACCESS_VIOLATION(0xc0000005)"问题描述#......
  • 异常事件升级策略
    一、背景目前告警是针对实时数值计算的结果,判定当前的值是否需要告警,存在以下问题:不能知道什么时候该告警结束当没有收到告警时,不能确定是因为收敛规则导致的暂时告警......
  • C++温故补缺(十一):异常
    异常处理参考:cnblogs异常和错误(bug)异常:是程序开发过程中必须考虑的一些特殊情况,是程序运行时可以预料的执行分支。异常是不可以避免的,如0除问题,数组越界问题,文件不存在......
  • java 异常
    1. 综述         异常产生的原因:1. java虚拟机产生异常                    2. 写的java程序代码有问题 ......
  • 27. 移除元素
    给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输......
  • P2763 试题库问题
    假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。任务:求满足要......