返回顶部
首页 > 资讯 > 后端开发 > Python >新手了解java 异常处理基础知识
  • 717
分享到

新手了解java 异常处理基础知识

2024-04-02 19:04:59 717人浏览 泡泡鱼

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

摘要

目录一、异常体系结构1.什么是异常2.异常的体系结构二、异常处理throw 与 throws三、自定义异常运行时异常编译时异常总结一、异常体系结构 1.什么是异常 在java程序运行

一、异常体系结构

1.什么是异常

在java程序运行过程中,发生了一些意料之外的情况就是异常。在java中异常一颗分为两大类:

(错误)Error 和 (异常)Exception。

  • 对于(错误)Error来说,我们无法通过程序去解决所有的错误,仅仅可以去尝试捕获这些错误,但是无法处理,往往错误的发生对程序来说是重大的致命性问题,需要通过较大的调整去修正它。
  • 对于(异常)Exception来说,它是我们可以通过程序去处理的,我们可以对这些异常情况做出捕获和处理。

2.异常的体系结构

​ Throwable

​ Error Exception

​ RutimeException 编译时异常

说明: RutimeException和一些编译时异常继承了ExceptionExceptionError继承了Throwable

运行时异常(RutimeException)在代码中我们往往不需要去捕获它,而是通过处理代码的逻辑来规避运行时异常。常见的5种运行时异常:

  1. ClassCastException(类转换异常)
  2. ArrayIndexOutOfBoundsException(数组越界异常)
  3. NullPointerException(空指针)
  4. ArrayStoreException(数据存储异常,操作数组时类型不一致)
  5. NumberFORMatException 数字格式化异常

public class Demo{
    public void test(){
        //此代码声明这里会抛出一个运行时异常
       throw new RutimeException();
    }
}
public class DemoTest{
    public static void main(String[] args){
       Demo demo = new Demo()
           demo.test();
    }
}

从上述代码种可以看出,运行时异常产生时,代码可以正常的编译与运行,但是运行结果会抛出一个运行时异常。

说明:运行时异常会向上传播。

二、异常处理

当异常发生时,我们需要对其进行处理,处理异常有两种方式:

一种使用try…catch…finally进行捕获;

另一种使用throws的方式进行抛出;

try…catch…finally

语法


try {
// 可能发生异常的代码块
} catch () {
// 捕获到异常后的处理代码块
} finally {
// 不管是否会发生异常,此代码块都会被执行
}

示例:


public class Demo1{
    public static void main(String[] args){
        String[] strs = {"张三","李四","王五"};
        try {
            System.out.println("-------");
            System.out.println(strs[3]); // 此处会发生异常,当异常发生后,后面的代码都不会被执行到
                for (String str : strs) {
                    System.out.println(str);
                }
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("++++++++++");
        } catch (Exception e) {
            System.out.println("++++++++++");
        }finally{
            System.out.println("--------------");
        }
    }
}

说明:在try…catch…语句中,try语句中产生异常的代码后面的代码不会被执行,产生异常后直接到了catch语句块中。catch语句块可以写多个,catch语句分支是从上到下依次找对应类型的,但是注意catch捕获的异常类型中父类型必须写在子类型的后面。

finally语句块是无论异常是否产生都会执行的。常用与资源的释放。

throw 与 throws

  • throws是异常处理机制的一种,而throw不是;
  • throws是声明异常类;而throw是抛出异常对象;
  • throws可以声明多个异常类,而throw只能抛出一个异常对象;
  • throws是声明在方法上的,而throw是定义在方法内的;

示例:


public class Demo{
    public void test() throws Exception{
        //此代码声明这里会抛出一个异常
       throw new Exception();
    }
}
public class DemoTest{
    public static void main(String[] args){
       Demo demo = new Demo()
         try {
           demo.test();
         }catch (Exception e) {
            System.out.println("++++++++++");
        }finally{
            System.out.println("--------------");
        }
    }
}

三、自定义异常

运行时异常

继承 RutimeException

示例:


public class MyRutimeException extends RutimeException {
    public MyRutimeException(String message){
        super(message);
    }
}

编译时异常

继承Exception

示例:


public class MyException extends Exception {
    public MyException(String message){
        super(message);
    }
}

总结

本篇文章就到这里了,希望对你有所帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: 新手了解java 异常处理基础知识

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

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

猜你喜欢
  • 新手了解java 异常处理基础知识
    目录一、异常体系结构1.什么是异常2.异常的体系结构二、异常处理throw 与 throws三、自定义异常运行时异常编译时异常总结一、异常体系结构 1.什么是异常 在java程序运行...
    99+
    2024-04-02
  • 新手了解java基础知识(一)
    目录1.java基础1.1Java历史1.2Java特点1.2.1 简单性1.2.2 面向对象1.2.3 分布式(微服务)1.2.4 健壮性1.2.5 安全性1.2.6 体系结构中立...
    99+
    2024-04-02
  • 新手了解java基础知识(二)
    目录算数运算符例子关系运算符例子逻辑运算符例子赋值运算符Java运算符优先级总结算数运算符 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。 ...
    99+
    2024-04-02
  • 新手了解java IO基础知识
    目录一、File类1、简介2、创建方式3、常用方法二、IO概念1.什么是输入2.什么输出(Output)三、流的分类1、InputStream(字节流)2、OutputStream(...
    99+
    2024-04-02
  • 新手了解java 集合基础知识
    目录一、概述Java集合体系结构:二、collection1、List1)ArrayList2)LinkedList2、set1)HashSet2)TreeSet1.实体类2.测试类...
    99+
    2024-04-02
  • 新手了解java 数组基础知识
    目录1、数组的定义2、array 遍历3、List和array 之间的转换1、数组转list2、list 转数组3、Arrays工具类4、可能遇到的问题总结1、数组的定义 ...
    99+
    2024-04-02
  • 新手了解java 泛型基础知识
    目录1、什么是泛型2、泛型的使用规则3、泛型应用实例总结1、什么是泛型 ​ 泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类...
    99+
    2024-04-02
  • 新手了解java 反射基础知识
    目录一、反射概述二、常用api三、创建Class对象的四种方式总结一、反射概述 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection...
    99+
    2024-04-02
  • 新手了解java 多线程基础知识
    目录一、线程的生命周期JDK中用Thread.State类定义了线程的几种状态:二、线程同步1、为什么要有线程同步2、synchronized2.1同步代码块2.2同步方法3、Loc...
    99+
    2024-04-02
  • 新手了解java 类,对象以及封装基础知识
    目录1、类2、对象3.方法的重载 什么是方法的重载4、构造器 什么是构造方法构造方法语法:构造方法特点5.this this指代当前对象,即哪个对象调用就指代哪个对象6.封装封装的作...
    99+
    2024-04-02
  • Python基础知识方法重写+文件处理+异常处理
    目录一、方法重写二、运算符重载三、文件处理打开关闭文件文件读写四、异常处理异常抛出异常最后前言; Python基础知识+结构+数据类型 Python基础学习列表+元组+字典+集合 P...
    99+
    2024-04-02
  • Java基础之异常处理详解
    目录Exception 类的层次Java 内置异常类异常方法捕获异常throws/throw 关键字finally关键字try-with-resources声明自定义异常通用异常异常...
    99+
    2023-05-17
    Java异常处理机制 Java异常处理 Java异常
  • Java 基础语法 异常处理
    目录1. 异常的背景1.1 邂逅异常1.2 异常和错误1.3 Java 异常的体系(含体系图)1.4 异常的核心思想1.5 异常的好处2. 异常的基本用法2.1 捕获异常2.1.1 ...
    99+
    2024-04-02
  • java异常处理相关知识点
    这篇文章将为大家详细讲解有关java异常处理相关知识点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。异常概述在Java中,这种在程序运行时可能出现的一些错误称为异常。异常是一个在程序执行期间发生的事件,它...
    99+
    2023-06-29
  • Python基础:异常处理
    如何处理异常   无论发生什么情况,finally block 中的语句都会被执行,哪怕前面的 try 和 excep block 中使用了 return 语句。 import sys try: f = open('file....
    99+
    2023-01-31
    异常 基础 Python
  • java最新基础知识面试题
    java最新基础知识面试题1、static关键字什么意思?java中是否可以覆盖一个private或者是static的方法?“static”表明一个成员变量或者是成员方法可以在没有所属类的实例变量的情况下访问。java中static方法不能...
    99+
    2014-06-09
    java面试题 java 面试题 基础
  • 简单了解mysql基础知识
    下面一起来了解下mysql基础知识,相信大家看完肯定会受益匪浅,文字在精不在多,希望mysql基础知识这篇短内容是你想要的。           ...
    99+
    2024-04-02
  • Java 异常的知识整理
    Java 异常1.继承关系2.Error程序运行时发生的无法被处理的错误,一旦发生,JVM终止执行。3.ExceptionException是程序编译与运行时出现的一种错误,一旦出现,JVM将告知程序员处理。分为两种:运行时异常:在运行时发...
    99+
    2023-05-31
    java 异常 ava
  • ASP新手要知道的基础知识有哪些
    ASP新手要知道的基础知识有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们都知道,ASP是Active Server Page的缩写,意为“动态服务器页...
    99+
    2023-06-17
  • 了解Go语言的基础知识
    Go语言是一种开源的编程语言,由Google开发并于2009年发布。它被设计成一种简单、高效、可靠的语言,专为构建大型软件项目而设计。在了解Go语言的基础知识之前,让我们先了解一下Go...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作