首页 > 编程语言 >java异常处理的三种机制

java异常处理的三种机制

时间:2023-09-11 09:45:29浏览次数:43  
标签:Exception java 代码 try finally 三种 catch 机制 异常

一、try-catch-finally语句(推荐)

try { 
    // 可能出现异常的代码 
} catch (Exception e) { 
    // 处理异常的代码 
} finally { 
    // 无论是否出现异常都会执行的代码 
} 

try-catch-finally语句是Java中最基本也是最常用的异常处理方法。它包含三个部分:try、catch和finally。try块中包含可能出现异常的代码;catch块中包含处理异常的代码;finally块中包含无论是否出现异常都会执行的代码。使用这个语句,我们可以把可能出错的代码放在try块中,如果出错了就会进入catch块来处理,而不会影响到其他正常执行的代码。此外,finally块中一般用来释放资源或者关闭文件。

 

二、throws关键字

public void method() throws Exception { 
    // 可能出错的代码  
} 

throws关键字也是一个很重要的Java异常处理方法。它用于声明一个方法可能会抛出一个或者多个特定的异常对象。在方法声明中使用,表示该方法可能产生此异常,如果在方法声明处使用了throws声明异常,该方法产生异常也不必捕获,直接把异常抛出到调用该方法的地方。如果方法有调用者,那就交给调用者处理,如果调用者继续一层层抛出,那最终交给虚拟机jvm,然后程序会中断。所以如果一个方法使用throws关键字声明了一个或者多个特定的异常对象,则在调用这个方法时必须使用try-catch语句来处理这些特定的异常对象。如果不使用try-catch语句来处理这些特定的异常对象,则必须将这些特定的异常对象再声明一遍并抛出去。

 

三、自定义Exception

public class MyException extends Exception {  

    public MyException(String message) {  

        super(message);  

    }  

 } 

自定义Exception是Java中最重要也是最有效地方法之一。通过自定义Exception,我们可以根据不同情况创建不同Exception子类来表征不同情况所对应的不同问题。例如,当数据库中无此数据时就可以创建DataNotFoundException子类来表征此问题并抛出此子类对应的Exception对象来告诉上层应用此问题已得到正确地处理并已得到直接地回应信息。

 

标签:Exception,java,代码,try,finally,三种,catch,机制,异常
From: https://www.cnblogs.com/qtiger/p/17692754.html

相关文章

  • python 集合特点&建立集合的三种方式
    一、9.10晚上python集合之特点和建立集合的三种方式_思维导图 2、IDLE执行记录   ......
  • TTL机制实现延迟消息
              ......
  • Linux多线程同步机制(下)
    @TOC前言一、读写锁多线程同步机制中的读写锁(Read-WriteLock)是一种特殊的锁机制,用于控制对共享资源的读写访问。读写锁允许多个线程同时读取共享资源,但在写操作时需要独占访问。读写锁的基本原则是:多个线程可以同时获取读锁,但只有一个线程可以获取写锁。当有线程持有写锁时,其他线......
  • Java开发面试--nacos专区
    1、Nacos是什么?请简要介绍Nacos是什么以及它的主要功能和用途。答:简介:Nacos是一个开源的、高性能、动态服务发现、配置和服务管理平台,通常用于微服务架构中。Nacos的名称来源于"Naming"(服务发现)、"Configuration"(配置管理)和"Service"(服务管理)三个词的首字母组合。主要功能......
  • 七、Nginx缓存机制
    对于性能优化而言,缓存是一种能够大幅度提升性能的方案,因此几乎可以在各处都能看见缓存,如客户端缓存、代理缓存、服务器缓存等等,Nginx的缓存则属于代理缓存的一种。对于整个系统而言,加入缓存带来的优势额外明显:减少了再次向后端或文件服务器请求资源的带宽消耗。降低了下游服务器的......
  • Java是一种面向对象的编程语言
    Java是一种面向对象的编程语言,泰兰德幻化广泛应用于各种平台上。它的特点是可移植性强,安全性高,且具有很强的扩展性。Java语言采用了“一次编写,到处运行”的原则,这意味着可以在不同的操作系统和设备上运行相同的Java程序,无需对代码进行修改。Java语言有着丰富的类库和API,可以满足......
  • JavaScript Map 对象的用法
    JavaScript的Map对象是一种用于存储键值对的集合,其中键和值可以是任意类型的。Map对象提供了一组方法用于操作和遍历这些键值对。下面是一些常用的JavaScriptMap对象的用法:创建一个新的Map对象:varmap=newMap();添加键值对到Map对象中:map.set(key,value);获取指定键......
  • Java常用类-String
    String保存的是字符串常量,值不能被修改,每次更新都会重新开辟空间,创建对象、重新指向,效率较低。所以提供了StringBuilder和StringBuffer来增强String的功能。privatefinalcharvalue[]常用方法 equalsIgnoreCase()//忽略大小写判断是否相等indexOf()//字符在字符串中第......
  • 无涯教程-JavaScript - DISC函数
    描述DISC函数返回有价证券的折现率。语法DISC(settlement,maturity,pr,redemption,[basis])争论Argument描述Required/OptionalSettlement证券的结算日期。证券结算日期是指在发行日期之后将证券交易给买方的日期。RequiredMaturity证券的到期日。到期日......
  • mybatisplus中按照条件查询的三种方式,常用的是lambda查询,当进行测试查询的时候,可以将
    2023-09-10目录结构 logback.xml<?xmlversion="1.0"encoding="UTF-8"?><configuration></configuration>application.ymlspring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://loca......