异常的处理

SpringMVC局部异常处理和全局异常处理  一、简介 在Web项目开发中,不管是对底层数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常处理。每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量也很大。那么,能不能将所有类型的异常处理从各种处理过程解耦出来,这样既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护? 项目全局的异常统一处理未知。... 阅读详情

一直以来,catch时子类在前,父类在后,两个都处理,但却。。。。。

import java.io.*;   

class BBB {   
  public static void main(String args[]) {   
    try {   
      throw new IOException();   
    } catch (IOException q) {   
      System.out.println("IOE");   
    } catch (Exception e) {   
      System.out.println("Exception"); // 这句为什么不执行 
    }   
  }   
} 

回复:
catch住一个IOException 处理了 然后就退出try-catch语句块啊

都被 IOException 捕获了啊。假如你的代码中会抛出 IOException,也会抛出 SQLException 的话,
那就会根据不同类型的异常由不同的异常处理块进行处理。

try {   
  ...   
  ...   
} catch (IOException e1) {   
    System.out.println("IOException");   
} catch (SQLException e2) {   
    System.out.println("SQLException");   
} 

异常只能被一个 catch 所捕获,因此越父类异常都应该写在子类异常的后面。

比如说,在普通的文件读写操作中,会同时抛出 FileNotFoundException 和 IOException,
经查询 API DOC 可以看出 IOException 是 FileNotFoundException 的父类异常。

因此写代码可以写成:

try {   
    ...   
} catch (FileNotFoundException e1) {   
    ...   
} catch (IOException e2) {   
    ...   
}  

但我们不能写成下面这样:

try {   
    ...   
} catch (IOException e2) {   
    ...   
} catch (FileNotFoundException e1) {   
    ...   
}  

因为如果在 try 中抛出 FileNotFoundException 的话,首先会被 IOException 的 catch 块所捕获,
FileNotFoundException 的 catch 块永远执行不到。

当然了,如果不需要在不同的异常 catch 块中写一些健壮性代码的话,FileNotFoundException 和
IOException 可以只使用 IOException catch 块,甚至可以直接使用 Exception 的 catch 块。

【Vite+Vue3+TS】基于Vite+Vue3+TypeScript+ESLint+Prettier+Stylelint搭建项目(亲测超详细) 结合了很多项目和文章,总结一篇项目构建的笔记。 温馨提示:文章末尾记录了我在搭建项目过程中,遇到的一些问题和解决办法 ~ 阅读详情

相关推荐

RIGOL DS1102E示波器新手必看:从开机到捕获第一个波形的5分钟指南

本文为RIGOL DS1102E示波器新手提供了一份快速上手指南。内容涵盖从开机、探头校准到捕获第一个波形的完整流程,重点解析了触发设置、自动测量等核心操作,并指出了探头衰减比设置等常见误区,帮助用户快速掌握这款经典数字示波器的基本使用方法。

dream的博客 739

JAVA语言编程练习--图形界面+文件输入输出流--实现简单的用户注册登录系统

客户需求: 制作一个注册登录系统,可以把用户名和密码保存在txt文件里。完成登录、注册等功能。 可移植性强,可以嵌入多个桌面小程序开发中。 功能实现: 一、注册: (1)、设计用户注册界面: 如图: 通过swing类库中的JFrame、JLabel、JText、JButton、Box等组件...

有朋自远方来,不亦乐乎。 6487

ESP8266红外控制美的空调:从协议解析到Home Assistant集成

红外遥控技术作为一种经典的非接触式控制方式,其原理是通过红外发光二极管发射经过特定频率调制的光信号来传递指令。在物联网和智能家居领域,利用微控制器如ESP8266模拟红外信号,成为将传统家电接入智能生态系统的关键技术。这项技术通过精准解析和生成符合设备厂商私有协议的红外编码,实现了对空调、电视等设备的远程与自动化控制,具有很高的实用价值。本文聚焦于美的空调的红外协议,深入探讨了其脉冲宽度调制(PWM)和全量式编码的特点,并提供了基于ESP8266的完整解决方案,包括硬件连接、库函数API详解以及如何将其无缝

weixin_30718391的博客 400

java: 在相应的 try 语句主体中不能抛出异常错误java.io.IOException

如果你使用了try catch 抛出异常,你的 try 代码块必须要有可能抛出 IOException 的代码语句,否则编译不成功。

xiaocai0923 4452

LRTimelapse Pro v7.0.0 激活版下载安装教程 (延迟摄影后期渲染)

LRTimelapse Pro 是一款优秀的高级延时摄影解决方案,使用将为用户提供最全面的工具和功能,从导入和组织您的延时摄影序列、视觉工作流程、在 LRTimelapse 中直接编辑和渲染、视觉去闪烁等等,功能齐全,可以使用 LRTimelapse Pro 编辑多个序列时显著提高您的效率,轻松在 LRTimelapse 中配置和使用色彩管理,进行长期延时编辑,在 LRTimelapse Pro 中使用长期工作流程。为延时编辑、关键帧、分级和渲染提供最全面的解决方案。

wyqshusan的博客 3467

Bybit面经

这段总结描述了求职者在Bybit面试过程中的经历和相关问题,包括面试内容、求职者向面试官提问的问题以及关于Bybit的信息

郑泽洲的博客 2580

一个Exception catch不住的【异常】

现象: Controller中的方法接收到前台ajax请求后开始执行, 当执行到某一行时程序终止,前台回调进Error方法。 后台明明catch了Exception异常,但异常并没有被捕获(不进catch)。 检查发现: 方法中引用的一个常量类,没有更新到生产环境。 为什么Exception罩不住? 因为这类问题抛出的是 Error。 开发过程中,一般Exception就能罩所有问题,因为有IDE看着场子,编译错误都能及时被发现。 而Error 和 Exception平级,谁也罩不

牛邪骁的博客 4086

STM32F103四位数码管动态显示实战:从硬件连接到代码调试(附Proteus仿真)

本文详细介绍了STM32F103驱动四位数码管的动态显示技术,从硬件连接到代码调试的全过程。内容包括共阴/共阳数码管的区别、GPIO配置、动态显示原理及优化方法,并附有Proteus仿真验证。通过实战案例,帮助开发者快速掌握STM32数码管动态显示的核心技术。

weixin_29168393的博客 469

【JavaSE-Exception】为啥我Catch了还是没有正确的输出

一个小失误导致我catch了,但是catch住,究竟是什么原因呢?让我们一起看看吧 import java.io.IOException; import java.io.InputStream; public class FinallyCarryOrNot { public static void main(String[] args) { System.out.pr...

Japathy 1242

出个AI8051U的PWM例程 | 3相互补SPWM变频驱动,PWMA-3个相位差120度的PWM互补输出

通道2输出: P2.2, PWMA2P输出, P2.3, PWMA2N输出, PWMA2相对PWMA1滞后120度相位.通道3输出: P2.4, PWMA3P输出, P2.5, PWMA3N输出, PWMA3相对PWMA1滞后240度相位.先别修改程序, 直接下载"Objects"里的"pwm.hex"测试, 下载时选择主频24MHz.主频32.768MHz, PWM周期1422, 刷新频率23040Hz,死区0.5us,通道1输出: P2.0, PWMA1P输出, P2.1, PWMA1N输出。

USB_CAN_8051的博客 690

OpenClaw进阶实战(五):多模态能力扩展——让OpenClaw看懂图片、听懂语音

本文介绍了如何在OpenClaw中实现多模态能力,包括图像文字识别(OCR)、图像描述和语音识别(ASR)三种技能。通过PaddleOCR、BLIP和Whisper等开源工具,可以本地化部署这些功能,保护数据隐私。文章详细展示了三个独立技能模块的实现代码,并提出了一个"多模态智能管家"方案,能自动识别消息类型(文本/图片/语音)并调用相应处理技能。该方案适用于电商客服、会议纪要等真实业务场景,使AI助手具备"眼睛"和"耳朵"的多模态交互能力。

PeterPan的博客 160

IOException异常的处理方式

首先看一段代码: 这段代码有明显的IO异常。一般我们的做法是捕获异常。 public static void main(String[] args) { try { // 文件可能不存在 FileWriter ; fw= new FileWriter("W:\\de...

真香号 4万+

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

w0shishabi的博客 2923

关于异常以及如何统一处理异常

前言: 最近公司新来的实习生,在写代码时,代码中出现代码中就会出现大量的try {…} catch {…} finally {…} 代码块,这种情况会产生大量的冗余代码,而且还影响代码的可读性。所以就异常处理这一块说收统一处理。 一 .首先谈谈异常 1.异常定义: 阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以java要提出异常处理机制,就是要告诉开发人员,你的程

damokelisijian866的博客 1917

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python中如何处理异常?Python异常的处理

除了Python自带的异常外,开发者为了方便还可以自定义异常类。但是不论是以直接还是间接的方式,异常都应从 Exception 类派生。异常类可以被定义成能做其他类所能做的任何事,但通常应当保持简单,它往往只提供一些属性,允许相应的异常处理程序提取有关错误的信息。大多数异常命名都以 “Error” 结尾,类似标准异常的命名。许多标准模块都需要自定义异常,以报告由其定义的函数中出现的错误。自定义异常类testcatch。

知智 7440

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JAVA中的异常处理机制与异常处理类、多异常处理

异常处理机制和异常处理类、多异常处理相关基础知识笔记

qq_48384113的博客 1510

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

oracle异常、异常捕捉以及异常处理

异常以及处理异常1、概念2、预定义异常1、两数相除,分母为0,捕捉并抛出异常2、值转换异常3、根据姓名查找员工的职位,可能会出现的异常有:没有个这员工,或者有两个或更多的人叫同样的名字。3、非预定义异常4、自定义异常5、课堂练习: 1、概念 异常是指PL/SQL程序在执行时出现的错误 在PL/SQL中的一个警告或错误的情形都被称为异常。提示:编译错误(主要指语法错误)不包含在内。 异常处理通常写在执行体的最下面,在所有执行语句之后以exception关键字开始异常处理 语法: Exception when

hey,欢迎浏览我的博客,希望能给你提供帮助。 8300

如何优雅处理异常?处理异常的原则

在我们日常工作中,经常会遇到一些异常,比如:NullPointerException、NumberFormatException、ClassCastException等等。那么问题来了,我们该如何处理异常,让代码变得更优雅呢?如果标准异常无法满足我们的业务需求,我们可以自定义异常。/*** 业务异常* @author 苏三* @date 2024/1/9 下午1:12*/@Data/*** 异常码*//*** 具体异常信息*/super();

weixin_51582215的博客 1041

什么是异常处理以及异常处理的方式

错误分为两种,一种为语法错误,一种为逻辑错误 异常就是程序运行错误时发出的型号,或者说是程序运行崩溃的结果 常用异常: AttributeError试图访问一个对象没有的属性,比如调用Foo.x,但是Foo下没有x属性 IOError输入/输出异常,基本上是无法打开文件的 ImportError无法引入模块或包,基本上是路径问题或者名称错误 IndentationError语法错误的子类,代码没有...

我一定要成为测试开发! 4918

Java异常处理终结篇——如何进行Java异常处理设计

使用Java异常的人很多,但能合理使用的却不多,Java异常处理设计是一个冷门的话题,但好的异常设计会让程序有质的变化,所以本文从各个方面分析便总结了,在Java程序中,如何进行异常设计。

登高而望远 1万+

什么是异常?如何处理异常?

到底神马是异常?如何处理异常? 异常的概念 异常的体系结构 Java 异常的处理机制 异常处理的基本语法 异常链 自定义异常 总结 异常的概念 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。 异常发生的原因有很多,通常包含以

Anonymous_GL的博客 5153

异常以及对异常的处理

异常以及对异常的处理

qq_60030399的博客 418

统一异常处理(全局异常处理,特定异常处理,自定义异常处理)及统一日志

统一异常处理:项目代码: package com.qiu.servicebase.exceptionhandler; import com.qiu.commonutils.R; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.

qq_42400763的博客 3261

如何处理异常

最近,我与一个朋友进行了讨论,他是一个相对初级但很聪明的软件开发人员。 她问我有关异常处理的问题。 这些问题指出了一种技巧和窍门,肯定有它们的清单。 但是我坚信我们编写软件的方式背后的背景和动机,因此我决定从这种角度写关于异常的想法。 编程中的异常(使用Java作为故事的舞台)用于通知我们在执行代码期间发生了问题。 异常是类的特殊类别。 使它们与众不同的是,它们扩展了Exception类,...

最佳 Java 编程 718

python异常值如何处理_如何处理异常

python异常值如何处理 最近,我与一个朋友进行了讨论,他是一个相对初级但很聪明的软件开发人员。 她问我有关异常处理的问题。 这些问题指出了一种技巧和窍门,肯定有它们的清单。 但是我坚信我们编写软件的方式背后的背景和动机,因此我决定从这样一个角度写关于异常的想法。 编程中的异常(使用Java作为故事的舞台)用于通知我们在执行代码期间发生了问题。 异常是类的特殊类别。 使它们与众不同的是,它...

最佳 Java 编程 4424

异常的概念以及异常的处理

异常(重点) 异常概念 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。 异常体系 异常机制其实是帮助我们找到程序中的问题,异常的根类是 java.lang.Throwable ,其下有两个子类: java.lan

Liamcsl的博客 1504
上一篇: 计算两个矩阵的乘积
下一篇: 复制
type_cc
博客等级 码龄10年 2粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值