iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java异常类型及处理方法
  • 196
分享到

Java异常类型及处理方法

2023-06-20 15:06:03 196人浏览 安东尼
摘要

这篇文章主要介绍“Java异常类型及处理方法”,在日常操作中,相信很多人在Java异常类型及处理方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java异常类型及处理方法”的疑惑有所帮助!接下来,请跟着小编

这篇文章主要介绍“Java异常类型及处理方法”,在日常操作中,相信很多人在Java异常类型及处理方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java异常类型及处理方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录
  • 一、异常定义

  • 二、异常的结构和分类

  • 三、异常的处理和捕获

  • 四、自定义异常

  • 五、异常的应用

    • 打印堆栈

    • 弹出流程

  • 六、注意点

    一、异常定义

    异常就是“意外、例外”的意思,也就是非正常情况。异常本质上是程序上的错误,包括程序逻辑错误和系统错误。异常的处理基本上就是用来兜底的,也是程序开发中程序不愿意看到的。异常最基本的信息就是线程的堆栈信息。

    二、异常的结构和分类

    Java异常类型及处理方法

    Throwable主要分为Error和Exception。

    错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,躺平解决就好,不要反抗。常见的错误有下面这些

    Java异常类型及处理方法

    异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心,能在程序中解决的都不叫事。常见的异常有这么多。

    Java异常类型及处理方法

    三、异常的处理和捕获

    异常想要处理肯定要先捕获到异常才可以,怎么捕获异常呐,Java给我提供了几个关键字,每个关键字怎么用呐?

    try,catch 就是直接捕获异常,catch 内的异常类型是能捕获的类型,一般如果有多个异常,从上到下的顺序是异常范围越来越大。注:ErrorCodeException的定义可以参考自定义异常。

      public static void second(String[] args) {      try {          throw new ErrorCodeException("1123");      } catch (ErrorCodeException e) {          e.printStackTrace();      }catch (Exception e){          e.printStackTrace();      }  }

    try catch finally 增加了finally关键字,就是在异常之后还能做一些事情,比如常见的关闭输入流,输出流,是程序最后的倔强。

    public static String readFileContent(String fileName) {  File file = new File(fileName);  BufferedReader reader = null;  StringBuffer sbf = new StringBuffer();  try {      reader = new BufferedReader(new FileReader(file));      String tempStr;      while ((tempStr = reader.readLine()) != null) {          sbf.append(tempStr);      }      reader.close();      return sbf.toString();  } catch (IOException e) {      e.printStackTrace();  } finally {      if (reader != null) {          try {              reader.close();          } catch (IOException e1) {              e1.printStackTrace();          }      }  }  return sbf.toString();}

    throw 主要用来创建一个异常,因为程序中可能需要抛出一个异常,比如我们游戏服务器游戏逻辑验证客户端参数不通过,会主动抛出一个自定义的异常

    throws 主要用在方法签名上,当我们读写文件或者反射的时候,如果不用try catch 就会发现方法签名后有一堆的异常需要处理。异常会继续上抛给上层的调用方法,直至有方法处理或者给系统。

    四、自定义异常

    当Java内置的异常都不能明确的说明异常情况的时候,需要创建自己的异常。

    如果要自定义异常类,则继承Exception类即可。可以在类中增加一些自己的处理,在创建异常的时候传入,在处理异常的地方,可以根据具体的内容进行处理。可以看下下面的弹出流程应用。

    public class ErrorCodeException extends Exception {   //错误码   private String errorCode;   //构造函数   public ErrorCodeException(String errorCode){       super(errorCode);       this.errorCode = errorCode;  }   public String getErrorCode() {       return errorCode;  }}

    五、异常的应用

    游戏开发中,每个协议的处理都会验证参数的是否合理,如果发现参数不合理,我们可以抛出一个自定义的参数异常,在同一的入口处进行捕获,解析出其中的错误码,直接发给客户端。避免了一层一层的函数返回。

    1.打印堆栈

    有时候在调试代码的过程中,因为函数的调用处太多,游戏不好断点,我们可以在想要知道函数的调用路径的情况下,可以随意抛出一个异常,系统会打印出调用堆栈,帮忙定位问题。是不是又获得一个小技巧。

    public class Aain {   public static void first(String[] args) throws Exception {       second(args);  }   public static void second(String[] args) throws Exception {       throw new Exception("1123");  }   public static void main(String[] args) throws Exception {           first(args);  }}

    2.弹出流程

    public class Aain {  public static void first(String[] args) throws ErrorCodeException {      second(args);  }  public static void second(String[] args) throws ErrorCodeException {      third(args);      System.out.println("1111");  }  public static void third(String[] args) throws ErrorCodeException {      throw new ErrorCodeException("1123");  }  public static void main(String[] args){      try {          first(args);      } catch (ErrorCodeException e) {          e.printStackTrace();      }  }}

    Java异常类型及处理方法

    从上面大堆栈打印可以看到,打印的语句没有执行,在游戏服务器的消息处理处捕获一个ErrorCodeException,如果消息处理函数抛出这个异常,在入口处会捕获并解析其中的错误码返回给客户端,可以避免一层一层的返回函数

    六、注意点

    Java程序可以是多线程的。每一个线程都是一个独立的执行流,独立的函数调用栈。如果程序只有一个线程,那么没有被任何代码处理的异常 会导致程序终止。如果是多线程的,那么没有被任何代码处理的异常仅仅会导致异常所在的线程结束

    finally 不具有再次处理异常的能力

    不要只捕获异常而不处理异常,就会发现不了问题。

    到此,关于“Java异常类型及处理方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: Java异常类型及处理方法

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

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

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Java异常类型及处理方法
      这篇文章主要介绍“Java异常类型及处理方法”,在日常操作中,相信很多人在Java异常类型及处理方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java异常类型及处理方法”的疑惑有所帮助!接下来,请跟着小编...
      99+
      2023-06-20
    • Java异常类型介绍及处理方法
      前言: Java异常,大家都很熟悉。但是对于具体怎么分类的,JVM对其怎么处理的,代码中怎么处理的,应该怎么使用,底层怎么实现的等等,可能就会有些不是那么清晰。本文基于此详细捋一下异...
      99+
      2024-04-02
    • Java异常类型及处理
      目录一、异常定义二、异常的结构和分类三、异常的处理和捕获四、自定义异常五、异常的应用1.打印堆栈2.弹出流程六、注意点总结一、异常定义 异常就是“意外、例外”的意思,也就是非正常情况...
      99+
      2024-04-02
    • Java异常类型及处理详情
      目录一、异常处理的关键字1、throw2、throws异常结构为: Throwable 为顶级父类 子类Error为严重报错 , 子类Exception就是我们所说...
      99+
      2024-04-02
    • Java异常类型分析及处理方法是什么
      今天就跟大家聊聊有关Java异常类型分析及处理方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言:Java异常,大家都很熟悉。但是对于具体怎么分类的,JVM对其怎么处理的,...
      99+
      2023-06-22
    • Python异常类型以及处理方法汇总
      目录前言1 异常类型1.1 Python内置异常1.2 requests模块的相关异常1.3 用户自定义异常2. 异常捕获2.1 捕获所有异常2.2 捕...
      99+
      2024-04-02
    • Python异常类型以及处理方法有哪些
      这篇文章将为大家详细讲解有关Python异常类型以及处理方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言调试Python程序时,经常会报出一些异常,异常的原因一方面可能是写程序时由于疏忽或者考...
      99+
      2023-06-15
    • Java异常类型以及处理实例详解
      目录一、异常的描述二、异常的体系三、异常的分类:四、异常处理的捕捉形式五、异常处理的原则六、finally七、异常的应用八、异常的注意事项:总结一、异常的描述 程序运行时,发生的不被...
      99+
      2024-04-02
    • Java中怎么处理异常类型
      这期内容当中小编将会给大家带来有关Java中怎么处理异常类型,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、异常的描述程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。...
      99+
      2023-06-20
    • Java.lang.NumberFormatException 异常及处理方法
      Java.lang.NumberFormatException 异常及处理方法 引言: 在Java编程中,我们常常遇到各种异常情况。其中之一是 java.lang.NumberFormatExcept...
      99+
      2023-10-28
      java python 开发语言 Java
    • Python常见异常类型处理
      目录1.Python语法错误 2.Python运行时错误 前言: 开发人员在编写程序时,难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误,还...
      99+
      2024-04-02
    • Java程序常见异常及处理方法有哪些
      Java程序常见的异常包括NullPointerException、ArrayIndexOutOfBoundsException、N...
      99+
      2023-08-18
      Java
    • Python中的异常类型及处理方式示例详解
      目录前言正文一、什么是异常二、异常的类型三、异常处理四、try 介绍五、finally 介绍六、raise 介绍结尾前言 Python 是一种面向对象的、解释型的、通用的、开源的脚本...
      99+
      2024-04-02
    • Java常见异常及处理方式总结
      目录一、概述二、异常分类三、声明及抛出四、捕获异常五、捕获多个异常六、自定义异常七、异常堆栈一、概述 异常指不期而至的各种状况,它在程序运行的过程中发生。作为开发者,我们都希望自己写...
      99+
      2024-04-02
    • Python异常及处理方法总结
      调试Python程序时,经常会报出一些异常,异常的原因一方面可能是写程序时由于疏忽或者考虑不全造成了错误,这时就需要根据异常Traceback到出错点,进行分析改正;另一方面,有些异常是不可避免的,但我们可以对异常进行捕获处理,防止程序终...
      99+
      2023-01-31
      异常 方法 Python
    • Java异常处理方法汇总
      目录一、异常是什么 二、异常类型 三、常见异常 四、常用异常方法 五、异常处理 六、关键字 throws/throw 七、自定义异常 前言: 我们在软件开发的过程中,任何语言的开发过...
      99+
      2024-04-02
    • python常见异常分类与处理方法
      Python常见异常类型大概分为以下类:    1.AssertionError:当assert断言条件为假的时候抛出的异常    2.AttributeError:当访问的对象属性不存在的时候抛出的异常    3.IndexError:超...
      99+
      2023-01-31
      异常 常见 方法
    • 常见的Python异常及处理方法总结
      目录一、错误与异常1.什么是错误2.什么是异常3.回溯信息二、常见异常常见异常类三.异常处理1.异常处理2.简单的异常处理格式3.执行顺序4.except分支可以有多个5.执行顺序6...
      99+
      2024-04-02
    • PHP异常处理:探索不同异常类型的实用用法
      php异常处理机制通过try-catch块处理错误和异常,内置异常如exception处理常见错误,自定义异常可针对特定需求定制处理逻辑。使用异常处理,当代码引发异常(如除零导致arit...
      99+
      2024-05-14
      php 异常处理
    • java类型转换异常的原因及解决方法是什么
      Java类型转换异常的原因是由于在进行类型转换时,源类型与目标类型之间存在不兼容的关系。这包括以下几种情况: 源类型与目标类型之间...
      99+
      2024-02-29
      java
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作