iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java详细讲解异常Exception的处理
  • 936
分享到

Java详细讲解异常Exception的处理

2024-04-02 19:04:59 936人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录异常介绍常见的运行时异常1.空指针异常2.数学运算异常3.数组下标越界异常4.类型转换异常5.数字格式不正确异常异常处理流程异常介绍 基本概念 程序执行中发生的不正常情况称为异常

异常介绍

基本概念

程序执行中发生的不正常情况称为异常。(语法错误和逻辑错误不是异常)。

异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。在Java等面向对象编程语言中异常属于对象.

异常本身是一个对象,产生异常就是产生了一个异常对象

Java针对受查异常,强制要求: 一个方法如果抛出了受查异常,则必须通过throws声明异常;如果抛出了非受查异常,则必须声明

package com.demo;

public class exception01 {
    public static void main(String[] args)  {
        int num1 = 10;
        int num2 = 0;//Scanner();
        //1. num1 / num2 => 10 / 0
        //2. 当执行到 num1 / num2 因为 num2 = 0, 程序就会出现(抛出)异常 ArithmeticException
        //3. 当抛出异常后,程序就退出,崩溃了 , 下面的代码就不在执行
        //4. 不应该出现了一个不算致命的问题,就导致整个系统崩溃
        //5. 我们可以使用异常处理机制来解决该问题
//        int res = num1 / num2;
        //如果程序员,认为一段代码可能出现异常/问题,可以使用try-catch异常处理机制来解决
        //从而保证程序的健壮性
        //将该代码块->选中->快捷键 ctrl + alt + t -> 选中 try-catch
        //6. 如果进行异常处理,那么即使出现了异常,程序可以继续执行
        try {
            int res = num1 / num2;
        } catch (Exception e) {
            //e.printStackTrace();
            System.out.println("出现异常的原因=" + e.getMessage());//输出异常信息
        }
        System.out.println("程序继续运行....");
    }
}

常见的运行时异常

1.空指针异常

package com.demo;

public class NullPointerExceotion {
        public static void main(String[] args) {
            String name01 = null;
            try {
                System.out.println(name01.length());
            } catch (Exception e) {
                throw new RuntimeException(e.getMessage());
            }
            String name02="sdasd";
            System.out.println(name02.length());
        }
}

2.数学运算异常

package com.demo;

public class exception01 {
    public static void main(String[] args)  {
        int num1 = 10;
        int num2 = 0;//Scanner();
        //1. num1 / num2 => 10 / 0
        //2. 当执行到 num1 / num2 因为 num2 = 0, 程序就会出现(抛出)异常 ArithmeticException
        //3. 当抛出异常后,程序就退出,崩溃了 , 下面的代码就不在执行
        //4. 大家想想这样的程序好吗? 不好,不应该出现了一个不算致命的问题,就导致整个系统崩溃
        //5. java 设计者,提供了一个叫 异常处理机制来解决该问题
//        int res = num1 / num2;
        //如果程序员,认为一段代码可能出现异常/问题,可以使用try-catch异常处理机制来解决
        //从而保证程序的健壮性
        //将该代码块->选中->快捷键 ctrl + alt + t -> 选中 try-catch
        //6. 如果进行异常处理,那么即使出现了异常,程序可以继续执行
        try {
            int res = num1 / num2;
        } catch (Exception e) {
            //e.printStackTrace();
            System.out.println("出现异常的原因=" + e.getMessage());//输出异常信息
        }
        System.out.println("程序继续运行....");
    }
}

3.数组下标越界异常

package com.demo;

public class ArrayIndexOutOfBoundException_ {
    public static void main(String[] args) {
        int []arr={5,6,8};
//        for (int i = 0; i < arr.length; i++) {
//            System.out.println(arr[i]);
//        }
        for (int i = 0; i <= arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

4.类型转换异常

package com.demo;

public class ClassCastException_ {
    public static void main(String[] args) {
        A b = new B(); //向上转型
        B b2 = (B)b;//向下转型,这里是OK
        C c2 = (C)b;//这里抛出ClassCastException
    }
}
class A {}
class B extends A {}
class C extends A {}

5.数字格式不正确异常

package com.demo;

public class NumberFORMatException_ {
    public static void main(String[] args) {
        String ch01="265450";
        //将String转为int
        int num01=Integer.parseInt(ch01);
        System.out.println("num01="+num01);
        String ch02="Demo龙";
        //将String转为int
        int num02=Integer.parseInt(ch02);
        System.out.println("num02="+num02);
    }
}

异常处理流程

  • 程序先执行 try 中的代码,如果 try 中的代码出现异常, 就会结束 try 中的代码, 看和 catch 中的异常类型是否匹配.
  • 如果找到匹配的异常类型, 就会执行 catch 中的代码,如果没有找到匹配的异常类型, 就会将异常向上传递到上层调用者.
  • 无论是否找到匹配的异常类型, finally 中的代码都会被执行到(在该方法结束之前执行).
  • 如果上层调用者也没有处理异常, 就继续向上传递,一直到 main 方法也没有合适的代码处理异常, 就会交给 JVM 来进行处理, 此时程序就会异常终止

到此这篇关于Java详细讲解异常Exception的处理的文章就介绍到这了,更多相关Java Exception内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java详细讲解异常Exception的处理

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

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

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

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

下载Word文档
猜你喜欢
  • Java详细讲解异常Exception的处理
    目录异常介绍常见的运行时异常1.空指针异常2.数学运算异常3.数组下标越界异常4.类型转换异常5.数字格式不正确异常异常处理流程异常介绍 基本概念 程序执行中发生的不正常情况称为异常...
    99+
    2022-11-13
  • Java异常Exception详细讲解
    目录1、异常中最大的父类Throwable2、try-catch-finally三条语句注意的问题3、final-finally-finalize的各作用4、throws关键字5、t...
    99+
    2022-11-13
  • Java超详细讲解异常的处理
    目录1、异常的概念和体系结构1.1异常的概念1.2异常的体系结构及分类2、异常的处理2.1防御式编程2.2异常地抛出2.3异常的捕获(1)异常声明throws(2)try-catch...
    99+
    2022-11-13
  • 超详细讲解Java异常
    目录一、Java异常架构与异常关键字Java异常简介Java异常架构1、Throwable2、Error(错误)3、Exception(异常)4、受检异常与非受检异常Java异常关键...
    99+
    2022-11-12
  • Java 超详细讲解Spring MVC异常处理机制
    目录异常处理机制流程图异常处理的两种方式简单异常处理器SimpleMappingExceptionResolver自定义异常处理步骤本章小结异常处理机制流程图 系统中异常包括两类: ...
    99+
    2022-11-13
  • Python异常与错误处理详细讲解
    基础知识 优先使用异常捕获 LBYL(look before you leap): 在执行一个可能出错的操作时,先做一些关键的条件判断,仅当满足条件时才进行操作。 EAFP(eais...
    99+
    2022-12-22
    Python异常 Python错误处理
  • 详解Java的Exception异常机制
    目录一、前言二、关于RuntimeException三、异常的避免四、异常的捕获五、异常的抛出(异常的转移)六、自定义异常一、前言 在Java中,我们在执行代码的过程中难免会遇到错误...
    99+
    2022-11-12
  • 详解Reactor如何优雅Exception异常处理
    目录异常处理的底层机制实操 —— try-catch-finally的平替1. 降级兜底 - onErrorReturn/onErrorResume2. 打印...
    99+
    2023-02-15
    Reactor Exception异常处理 Reactor Exception异常 Reactor Exception
  • JavaSE详细讲解异常语法
    目录1.异常的概念2.异常的体系结构3.异常的处理3.1抛出异常3.2处理异常3.2.1throws3.2.2try-catch3.3异常的处理流程4.自定义异常1.异常的概念 Ja...
    99+
    2022-11-13
  • Java异常 Exception类及其子类(实例讲解)
    C语言时用if...else...来控制异常,Java语言所有的异常都可以用一个类来表示,不同类型的异常对应不同的子类异常,每个异常都对应一个异常类的对象。Java异常处理通过5个关键字try、catch、finally、throw、thr...
    99+
    2023-05-30
    java exception 子类
  • Java异常(Exception)处理以及常见异常总结
    目录前言异常简介 异常类型 总结前言 很多事件并非总是按照人们自己设计意愿顺利发展的,经常出现这样那样的异常情况。例如: 你计划周末郊游,计划从家里出发→到达目的→游泳→烧烤→回家。...
    99+
    2022-11-12
  • Java异常处理操作 Throwable、Exception、Error
    异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。 Java通过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子...
    99+
    2022-11-12
  • RUST异步流处理方法详细讲解
    目录Stream 特质yield 匿名流try_joinselectSELECT宏几个条件async 问号使用Send traitStream 特质 在同步Rust 中流的...
    99+
    2022-12-16
    RUST异步流处理 RUST流处理
  • JAVA异常与异常处理详解
    一、异常简介什么是异常?异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域的情况,称之为异常。java中异常的体系是怎么样的呢?(推荐:java视频教程)Java中的所有不正常类都继承于Throwable类...
    99+
    2020-06-12
    JAVA
  • java中异常类型及异常处理的详细介绍
    一、异常实现及分类1.先看下异常类的结构图上图可以简单展示一下异常类实现结构图,当然上图不是所有的异常,用户自己也可以自定义异常实现。上图已经足够帮我们解释和理解异常实现了:java相关免费视频教程:java教学视频所有的异常都是从Thro...
    99+
    2015-02-22
    java入门 java 异常类型 异常处理
  • Java超详细梳理异常处理机制
    目录一、异常概述与异常体系结构1. 异常概述引入概念2. 分类2.1 Error vs Exception2.2 编译时异常vs运行时异常3. 常见异常3.1 分类3.2 代码演示二...
    99+
    2022-11-13
  • 关于JAVA异常类结构的详细讲解(附实例)
    1、异常类大致结构2.Throwable是所有异常类的超类.3.当程序可能出现错误(异常)的时候应该使用,使用关键捕获异常进行处理.4.捕获异常结构如下:public void test() { int num1 = 10; ...
    99+
    2017-04-28
    java教程 异常
  • 最全最详细的Java异常处理机制
    一、异常概述与异常体系结构 异常概述         在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,读取文件是否存在,网...
    99+
    2023-09-10
    java 开发语言 后端
  • Python中的异常处理讲解
    目录一、什么是异常二、异常的种类1 、常用异常类2、异常举例:三、异常处理1、基本语法try...except2、多分支异常 except..except与万能异常:Exceptio...
    99+
    2022-11-11
  • java基础详细笔记之异常处理
    目录异常概述常见异常的举例  空指针异常NullPointerException数组角标越界异常ArrayIndexOutOfBoundsException &n...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作