返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java之异常
  • 538
分享到

Java之异常

java笔记程序人生 2023-09-21 09:09:44 538人浏览 独家记忆
摘要

作者简介: zoro-1,目前大二,正在学习Java,数据结构等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

在这里插入图片描述

作者简介: zoro-1,目前大二,正在学习Java,数据结构
作者主页: zoro-1的主页
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

Java之异常

认识异常

异常是指程序运行时发生的错误或意外情况,它可能导致程序无法继续执行或产生不正确的结果。在编程中,异常通常是由于输入数据错误、计算错误、系统故障或资源不足等原因引起的。程序员可以在代码中使用异常处理机制来捕获和处理这些异常,从而避免程序崩溃或产生不恰当的结果。常见的异常包括空指针异常、数组越界异常、算术异常等。

异常的体系结构

在这里插入图片描述
在这里插入图片描述

异常的处理

防御式处理

错误在代码中是客观存在的. 因此我们要让程序出现问题的时候及时通知程序猿. 主要的方式
1.事前防御型:

boolean ret = false;ret = 登陆游戏();if (!ret) { 处理登陆游戏错误;    return;}ret = 开始匹配();if (!ret) { 处理匹配错误;    return;}ret = 游戏确认();if (!ret) { 处理游戏确认错误;    return;}ret = 选择英雄();if (!ret) {    处理选择英雄错误;    return;}ret = 载入游戏画面();if (!ret) { 处理载入游戏错误;    return;}......

事后处理型

try {    登陆游戏();    开始匹配();    游戏确认();    选择英雄();    载入游戏画面();   ...} catch (登陆游戏异常) {    处理登陆游戏异常;} catch (开始匹配异常) { 处理开始匹配异常;} catch (游戏确认异常) { 处理游戏确认异常;} catch (选择英雄异常) { 处理选择英雄异常;} catch (载入游戏画面异常) { 处理载入游戏画面异常;}

异常的抛出

在编写程序时,如果程序中出现错误,此时就需要将错误的信息告知给调用者,比如:参数检测。在Java中,可以借助throw关键字,抛出一个指定的异常对象,将错误信息告知给调用者。具体语法如下:

throw new XXXException("异常产生的原因");

【需求】:实现一个获取数组中任意位置元素的方法。

public static int getElement(int[] array, int index){    if(null == array){         throw new NullPointerException("传递的数组为null");         }            if(index < 0 || index >= array.length){        throw new ArrayIndexOutOfBoundsException("传递的数组下标越界");   }        return array[index];} public static void main(String[] args) {    int[] array = {1,2,3};    getElement(array, 3);}

在这里插入图片描述

异常的捕获及处理(try-catch-finally)

在这里插入图片描述

fianlly讲解

一般是用来关闭资源,为什么不在程序最后关闭资源呢,因为fianlly里语句一定会被执行且在return语句前,而程序最后之前的try语句如果return,那程序最后就不能关闭资源了,但fianlly语句中最好不要用return语句,因为try里面有return语句的话,fianlly里面就会执行,那try里面的return就没意义了

编译时异常(受查异常)

编译时异常是指在编译程序时就可以检测到的异常,也称为受检异常。如果程序中没有对这些异常进行处理,编译器会报错,无法编译通过

几个编译时异常:

  1. FileNotFoundException(文件未找到异常):在读取文件时,如果文件不存在,就会抛出该异常。

  2. IOException(输入输出异常):在进行输入输出操作时,如果操作失败,则会发生该异常。

  3. sqlException(SQL异常):在进行数据库操作时,如果SQL语句有误或者连接数据库失败,就会抛出该异常。

  4. ClassNotFoundException(类未找到异常):在加载类时,如果找不到指定的类,就会发生该异常。

这些异常都需要在代码中进行处理,否则编译器就会报错,无法编译通过。通常,我们会使用try-catch语句来捕获并处理这些异常。

运行时异常

运行时异常(RuntimeException)指的是在程序执行期间发生的异常,它们不需要在代码中显式地处理或声明。这些异常通常是由程序的错误逻辑或代码错误引起的,例如空指针异常(NullPointerException)、数组下标越界异常(ArrayIndexOutOfBoundsException)、算术异常(ArithmeticException)和类转换异常(ClassCastException)等。

下面给出几个例子:

  1. NullPointerException
String str = null;System.out.println(str.length());
  1. ArrayIndexOutOfBoundsException
int[] arr = {1, 2, 3};System.out.println(arr[3]);
  1. ArithmeticException
int a = 10;int b = 0;System.out.println(a / b);
  1. ClassCastException
Object obj = "hello";Integer num = (Integer) obj;

自定义异常

继承Exception,必须要处理或声明

public class Text8 {    public static void main(String[] args) {        try {            throw new My_E("编译时自定义异常");        } catch (My_E e) {        }    }}class My_E extends Exception{   public My_E(String str){       super(str);   }}

运行时异常

继承RuntimeException,不需要处理

public class Text8 {    public static void main(String[] args) {            throw new My_Run("运行时自定义异常");    }}class My_Run extends RuntimeException{   public My_Run(String str){       super(str);   }}

今天的分享到这就结束了,记得三连哦,谢谢大家支持
在这里插入图片描述

来源地址:https://blog.csdn.net/ltzoro/article/details/132990727

--结束END--

本文标题: Java之异常

本文链接: https://lsjlt.com/news/413789.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java之异常
    作者简介: zoro-1,目前大二,正在学习Java,数据结构等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 ...
    99+
    2023-09-21
    java 笔记 程序人生
  • Java异常处理之java.lang.reflect.InvocationTargetException
    Java异常处理之java.lang.reflect.InvocationTargetException —— 深入解析Java异常处理中的InvocationTargetException 引言: ...
    99+
    2023-10-01
    java 开发语言 Java
  • Java异常学习之自定义异常详解
    前言哎呀,妈呀,又出异常了!俗话说:“代码虐我千百遍,我待代码如初恋”。小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了,今天来跟大家聊聊Java异常。Java异常的体系什么的,理论知识啥的我就懒得去BB太多了,是个搞J...
    99+
    2023-05-31
    java 自定义异常 ava
  • Java常见踩坑记录之异常处理
    目录一、Java异常类层次结构二、Throwable类常用方法三、try-catch-finally四、使用 try-with-resources 来代替try-catch-fina...
    99+
    2024-04-02
  • Java特性之注解和异常 Throwable
    目录注解作用注解的常见分类异常Java异常类层次结构可查的异常(checked exceptions)和不可查的异常(unchecked exceptions)区别throw和thr...
    99+
    2024-04-02
  • 不就是Java吗之 认识异常
    认识异常 一、异常的概念与体系结构1.1 异常的概念1.2 异常的体系结构1.3 异常的分类1.3.1 编译时异常(受查异常) 1.3.2 运行时异常(非受查异常) 二、异常的处理2...
    99+
    2023-09-14
    java jvm 开发语言
  • Java基础之异常处理详解
    目录Exception 类的层次Java 内置异常类异常方法捕获异常throws/throw 关键字finally关键字try-with-resources声明自定义异常通用异常异常...
    99+
    2023-05-17
    Java异常处理机制 Java异常处理 Java异常
  • 【Java】异常
    看似不起波澜的日复一日 会突然在某一天让人看到坚持的意义 目录 1.认识异常 1.1 异常的概念  1.2 常见的异常  2.异常的体系结构 3.异常的分类  3.1 编译时异常  3.2 运行时异常  4.异常的处理  4.1 事前防...
    99+
    2023-09-11
    java jvm 开发语言
  • Java面向对象之什么是异常
    基础概念   (1)异常:Java程序在运行时期发生的不正常情况。      Java就按照面向对象的思想对不正常情况进行描述和对象的封装。   (2)异常问题分类: (Throwa...
    99+
    2024-04-02
  • IllegalStateException(java异常)
    IllegalStateException是Java标准库中的一个异常类,表示在不合适或无效的情况下执行了某个方法或操作。 以下是一些可能会导致IllegalStateException异常的常见情况...
    99+
    2023-08-31
    java 开发语言 jvm
  • JAVA异常与异常处理详解
    一、异常简介什么是异常?异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域的情况,称之为异常。java中异常的体系是怎么样的呢?(推荐:java视频教程)Java中的所有不正常类都继承于Throwable类...
    99+
    2020-06-12
    JAVA
  • java基础详细笔记之异常处理
    目录异常概述常见异常的举例  空指针异常NullPointerException数组角标越界异常ArrayIndexOutOfBoundsException &n...
    99+
    2024-04-02
  • Python 之异常处理
    一 错误和异常 •错误分两种: 1、语法错误 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # 举列 4 print('hello world' # 少) 5 6 def ...
    99+
    2023-01-30
    异常 Python
  • Python之异常处理
    错误包括语法错误和逻辑错误 异常是程序运行时发生错误的信号,解释器追踪程序,根据错误抛出的异常。 常用的异常: AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError 输入/输出异常...
    99+
    2023-01-30
    异常 Python
  • python3学习之异常
    ##异常处理 #try: #    pass #except Exception as ex:   Exception(捕获所有错误)可以换成任何异常类型,代表只捕获指定错误, # 可以写多个except #    pass ##异常类型...
    99+
    2023-01-31
    异常
  • Java异常种类
    异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因...
    99+
    2017-06-07
    java教程 Java
  • JAVA中的异常
    目录 Throwable Error Exception 编译时异常 运行时异常 异常的处理 try-catch捕获并处理 finally throw throws 自定义异常类 在Java中,将程序执行过程中发生的不正常行为称为异常。...
    99+
    2023-09-14
    java 开发语言
  • 【Java】认识异常
    文章目录 一、异常的概念和体系结构1.异常的概念2.异常的体系结构3.异常的分类 二、异常的处理1.防御式异常2.异常的抛出3.异常的捕捉 三、异常的处理流程四、自定义异常类 一、异常的概念和体系结构 1.异常的概念 ...
    99+
    2023-12-22
    java 开发语言
  • Java异常(Exception)处理以及常见异常总结
    目录前言异常简介 异常类型 总结前言 很多事件并非总是按照人们自己设计意愿顺利发展的,经常出现这样那样的异常情况。例如: 你计划周末郊游,计划从家里出发→到达目的→游泳→烧烤→回家。...
    99+
    2024-04-02
  • Java 异常机制Exception和自定义异常
    目录异常机制异常体系结构异常的捕获与抛出自定义异常异常机制 异常:就是不符合实际需求,在实际中可能不存在也可能不满足实际,所以出现的问题称之为异常。 异常的三种类型: 检查性异常:用...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作