异常处理的解决方案

2024-06-23 18:08
文章标签 解决方案 异常 处理

本文主要是介绍异常处理的解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

package 异常;
/** A:一个异常* B:二个异常的处理* 		a:每一个写一个try...catch* 		b:写一个try,多个catch* 			try{* 				...* 			}catch(异常类名 变量名) {* 				...* 			}* 			catch(异常类名 变量名) {* 				...* 			}* 			...* * 			注意事项:* 				1:能明确的尽量明确,不要用大的来处理。* 				2:平级关系的异常谁前谁后无所谓,如果出现了子父关系,父必须在后面。* * 注意:* 		一旦try里面出了问题,就会在这里把问题给抛出去,然后和catch里面的问题进行匹配,* 		一旦有匹配的,就执行catch里面的处理,然后结束了try...catch* 		继续执行后面的语句。*/
public class Exception2 {public static void main(String[] args) {// method1();// method2();// method3();method4();}public static void method4() {int a = 10;int b = 0;int[] arr = { 1, 2, 3 };// 爷爷在最后try {System.out.println(a / b);System.out.println(arr[3]);System.out.println("这里出现了一个异常,你不太清楚是谁,该怎么办呢?");} catch (ArithmeticException e) {System.out.println("除数不能为0");} catch (ArrayIndexOutOfBoundsException e) {System.out.println("你访问了不该的访问的索引");} catch (Exception e) {System.out.println("出问题了");}// 爷爷在前面是不可以的// try {// System.out.println(a / b);// System.out.println(arr[3]);// System.out.println("这里出现了一个异常,你不太清楚是谁,该怎么办呢?");// } catch (Exception e) {// System.out.println("出问题了");// } catch (ArithmeticException e) {// System.out.println("除数不能为0");// } catch (ArrayIndexOutOfBoundsException e) {// System.out.println("你访问了不该的访问的索引");// }System.out.println("over");}// 两个异常的处理public static void method3() {int a = 10;int b = 0;int[] arr = { 1, 2, 3 };try {System.out.println(arr[3]);System.out.println(a / b);// System.out.println(arr[3]);} catch (ArithmeticException e) {System.out.println("除数不能为0");} catch (ArrayIndexOutOfBoundsException e) {System.out.println("你访问了不该的访问的索引");}System.out.println("over");}// 两个异常public static void method2() {int a = 10;int b = 0;try {System.out.println(a / b);} catch (ArithmeticException e) {System.out.println("除数不能为0");}int[] arr = { 1, 2, 3 };try {System.out.println(arr[3]);} catch (ArrayIndexOutOfBoundsException e) {System.out.println("你访问了不该的访问的索引");}System.out.println("over");}// 一个异常public static void method1() {// 第一阶段int a = 10;// int b = 2;int b = 0;try {System.out.println(a / b);} catch (ArithmeticException ae) {System.out.println("除数不能为0");}// 第二阶段System.out.println("over");}
}

JDK7提供的异常处理的新的解决方案

package 异常;/** JDK7出现了一个新的异常处理方案:* 		try{* * 		}catch(异常名1 | 异常名2 | ...  变量 ) {* 			...* 		}* * 		注意:这个方法虽然简洁,但是也不够好。* 			A:处理方式是一致的。(实际开发中,好多时候可能就是针对同类型的问题,给出同一个处理)*			B:多个异常间必须是平级关系。*/
public class Exception3 {public static void main(String[] args) {method();}public static void method() {int a = 10;int b = 0;int[] arr = { 1, 2, 3 };// try {// System.out.println(a / b);// System.out.println(arr[3]);// System.out.println("这里出现了一个异常,你不太清楚是谁,该怎么办呢?");// } catch (ArithmeticException e) {// System.out.println("除数不能为0");// } catch (ArrayIndexOutOfBoundsException e) {// System.out.println("你访问了不该的访问的索引");// } catch (Exception e) {// System.out.println("出问题了");// }// JDK7的处理方案try {System.out.println(a / b);System.out.println(arr[3]);} catch (ArithmeticException | ArrayIndexOutOfBoundsException e) {System.out.println("出问题了");}System.out.println("over");}}


这篇关于异常处理的解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087887

相关文章

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序