try-catch的使用以及细节

article/2025/10/16 10:52:36

文章目录

  • try-catch的使用以及细节
    • 1. 基本语法
    • 2. 注意细节
    • 快捷键

try-catch的使用以及细节

🎈 Java中提供 trycatch块来处理异常。try块用于包含可能出错的代码。catch块用于处理try块中发生的异常。可以根据需要在程序中有多个try…catch块。

1. 基本语法

try{
//可疑代码
//将异常生成对象的异常对象传递给catch块
}catch(异常){
//对异常进行处理
}finally{
} //可以没有finally

2. 注意细节

  1. 如果异常发生了,则异常发生后面的代码不会执行,直接进入到catch

  2. 如果异常没有发生,则顺序执行try的代码块,不会进入到catch

  3. 如果希望发不发生异常都进入到某段代码段 例如:关闭数据库的连接,则使用 finally{ }

public static void main(String[] args) {//ctrl + alt +t try {String str = "123";int a = Integer.parseInt(str);System.out.println(a);} catch (NumberFormatException e) {System.out.println("异常信息" + e.getMessage());}finally {System.out.println("finally代码块被执行");}System.out.println("程序继续");
}

运行结果为:请添加图片描述

当更改为"abc"时请添加图片描述语句时再次运行:请添加图片描述

  1. 可以有多个catch语句,捕捉不同的异常(进行不同的业务处理),要求父类异常在后,子类异常在前,比如Exception 在后 ,NullPointerException在前,如果发生异常,只会匹配一个catch
public class TryCatchDetai {public static void main(String[] args) {try {Person person = new Person();person = null;System.out.println(person.getName());int n1 = 10;int n2 = 0;int res = n1/n2;}catch (NullPointerException e){System.out.println("空指针异常 " + e.getMessage());}catch (Exception e){System.out.println("算术异常" + e.getMessage());}finally {}}
}class Person{private String name = "yayaya";public String getName(){return name;}
}

运行的结果为:
请添加图片描述

但是实际上还有一个异常为算术异常 及分母不能为0,因为已经找到一个异常就不会捕获下一个异常。

person = null;代码注销

再次运行:
请添加图片描述

如果更改获取异常的顺序,编译器就会报错。所以父类异常需要在后,子类异常需要在前。请添加图片描述

  1. 可以进行try-finally 配合使用,这种用法相当于没有捕获异常
    所以程序会崩溃。但是finally一定会执行,例如:需要关闭数据库,一些必须要执行的代码
public class TryCatchDetail02 {public static void main(String[] args) {try {int n1 = 10000;int n2 = 0;System.out.println(n1/n2);}finally {System.out.println("执行finally");}System.out.println("程序继续运行");}
}

当程序运行到n1/n2时候会报错,这个时候会先执行finally语句,执行完之后就崩溃。!!

运行结果为:请添加图片描述

快捷键

全选住代码 ctrl + alt +t 选择6就可以一键生成try=catch
快捷键


http://chatgpt.dhexx.cn/article/nnXWO1bk.shtml

相关文章

【小波变换】wavedecn方法

wavedecn wavedecn(data, wavelet, modesymmetric, levelNone, axesNone)Multilevel nD Discrete Wavelet Transform.Parameters----------data : ndarraynD input data# 可通过设置axes参数,来确定小波变化的维度axes : sequence of ints, optionalAxes over which…

Wave Engine 3.1 Released

Wave Engine最近发布了3.1版。 Wave Engine是一款完全免费的3D游戏引擎,能够针对大多数平台和XR设备。该版本带来了对.NET 5和C#9的支持以及图形上的改进。 我们很高兴地宣布,与Microsoft合作,我们刚刚发布了WaveEngine 3.1&…

小波变换——提取图像(低频/宏观)到(高频/微观)信息

对我来说,小波分解属于研究大结构框架中图像预处理最基础的地方,由于创新性不足,一年多前尝试过以后就被搁置;现已研究出较新的多尺度/多分辨率特征提取算法,故将小波变换留个纪念。 import cv2 import numpy as np i…

Waves插件

Waves插件 下载安装包查看是否存在之前版本的waves 用控制面板或者其他软件 卸载 去控制面板中,正常缷掉WAVES 9安装目录,把残留的WAVES文件夹干掉!清理注册表内的内容: 32bit : HKEY_LOCAL_MACHINE\Software\Waves 64bit : HKE…

小波变换(Wavelet Transform)

最近在学习数据挖掘的数据预处理一章中碰到了小波变换,之前并没有学习过有关信号处理的东西,所以参考网上的资料,对其做一个简单的了解,后面如果用得到,再做深入的学习。 本人是相关方面的小白,如有搬运理解…

基于小波变换实现图像增强

1,基于小波变换的图像低通滤波 %小波变换进行滤波变换 clc,clear,close all; Image rgb2gray(imread(baboon.jpg)); nIg imnoise(Image,gaussian); [C,S] wavedec2(nIg,3,db4);%采用db4小波对噪声图像进行3级分解 len length(C); C1 C;C2 C;C3 C; C1(S(1,1)…

waves服务器系统包,Waves Complete 12

Waves Complete 12是一款功能十分强大好用的音频制作类软件哦,且软件中还有着丰富的插件可供用户们选择和使用哦。且全套的音频效果器,也能够满足用户后期混音的需求哦~ Waves Complete 12介绍: 1、调整插件的界面显示比例 5种大小可调&#…

ES8311 低功耗单声道音频编解码器(中文)

版本11.0 低功耗单声道音频编解码器 特征 系统 • 高性能、低功耗多位音频ADC和DAC • I2S/PCM 主串行或从串行数据端口 • 256/384Fs, USB 12/24 MHz 和其他非标准音频系统时钟 • I2C 接口 ADC • 24 位、8 至 96 kHz 采样频率 • 100 dB 信噪比,-93 dB THDN…

小波变换对图像的分解与重构(含matlab代码)

01 小波变换原理 所谓的小波的小是针对傅里叶波而言,傅里叶波指的是在时域空间无穷震荡的正弦(或余弦波)。 相对而言,小波指的是一种能量在时域非常集中的波,它的能量有限,都集中在某一点附近&#xff0…

多尺度二维离散小波分解wavedec2

对X进行N尺度小波分解 [C,S]wavedec2(X,N,wname); clc,clear all,close all; load woman; [c,s]wavedec2(X,2,db1);%进行2尺度二维离散小波分解。分解小波函数-db1 [cH1,cV1,cD1]detcoef2(all,c,s,1);%尺度1的所有方向的高频系数 [cH2,cV2,cD2]detcoef2(all,c,s,2);%尺度2的所有…

图像处理-小波变换

小波指的是一种能量在时域非常集中的波,它的能量有限,都集中在某一点附近,而且积分的值为零,这说明它与傅里叶波一样是正交波。 图像的傅里叶变换是将图像信号分解为各种不同频率的正弦波。同样,小波变换是将图像信号分…

【Matlab代码】图像的小波分解和重构实现

一、原理 MATLAB中实现图像分解和重构的命令主要有dwt2(idwt2)和 wavedec2( waverec2)。其中,进行一层小波分解的命令为dwt2,对应的小波重构命令为idwt2;进行多层分解的命令为wavedec2,对应的重构命令为 wavered2。 1.1 一层小波…

matlab Wavedec.函数

Wavedec函数 最具挑战性的挑战莫过于提升自我。——迈克尔F斯特利 Wavedec函数 [函数功能] 多尺度一维小波分级。 [语法格式] ○1[C,L] Wavedec (X,N,wname) ○2[C,L] Wavedec (X,N,Lo_D,Hi_D) [使用说明] Wavedec使用给定的小波wna…

二维小波变换——wrcoef2、upcoef2、detcoef2、appcoef2(转)

二维离散小波变换的函数同样可分为3大功能: (1)分解与重构/恢复信号: 1级分解与重构原始信号函数为:dwt2 与 idwt2 多级(包括1级)分解与重构原始信号函数为:wavedec2 与 waverec2 (2&#xff09…

[c0,s0] = wavedec2(M1, N, wtype);

采用小波分解行 clear ; X1 imread(20170901204704.jpg); imshow(X1); figure; M1 double(X1) / 256; imshow(M1); N 4; wtype sym4; [c0,s0] wavedec2(M1, N, wtype); M1导入后为809*803*3,numel(M1) 1948881; 而length(c0) 2011320; 两者并非是按照小…

wav2vec--

Wav2vec: Unsupervised Pre-training for Speech Recognition 该模型非完整的ASR,而是一个将wav通过标记的、未标记的数据,通过无监督的方式进行训练,得到可以送入ASR中的向量;以提升ASR的准确率; Wav2vec首先训练一个…

二维小波变换——wrcoef2、upcoef2、detcoef2、appcoef2

文章目录 1.wrcoef22.upcoef23.detcoef24.appcoef2 1.wrcoef2 功能:从二维小波系数重构单分支 用法: X wrcoef2(‘type’,C,S,wname,N) 根据小波分解结构[C,S],计算N级重构系数矩阵。wname是包含小波名称的字符向量或字符串标量…

MATLAB 之 wavedec2函数详解

wavedec2函数: 1.功能:实现图像(即二维信号)的多层分解,多层,即多尺度. 2.格式:[c,s]wavedec2(X,N,wname) [c,s]wavedec2(X,N,Lo_D,Hi_D)(我不讨论它) 3.参数说明:对图像X用wname小波基函数实现N层分解, 这里的小波基函数应该根据实际情况选择,具体选择办法可以搜之…

wavedec2函数详解

zz: http://hi.baidu.com/hehui1500/blog/item/81ba18dea873430349540382.html 很多人对小波多级分解的wavedec2总是迷惑,今天就详释她! wavedec2函数: 1.功能:实现图像(即二维信号)的多层分解,多层,即多尺度. 2.格式:[c,s]wavedec2(X,N,w…

python小波变换 wavedec2函数 各个返回值详解

网上找了好多文章都没有提到这个东西,没有说明 wavedec2 函数各个返回值究竟是什么意思 我们先看看 wavedec2 函数的大概形式, pywt.wavedec2(data, wavelet, mode’symmetric’, levelNone, axes(-2, -1))data: 输入的数据wavelet: 小波基level: …