Java中的异常详解

Claude Code 官方文档+3 个高活跃社区+5 个可复用开源项目:14.4 节持续学习资源实测清单 揭示 Claude Code 的核心交互范式是「状态机驱动的对话式编程」,强调官方文档实为配置契约、社区是直觉验证场、开源项目是配置能力校准器;通过真实故障案例解析上下文丢失根源,提出以工程化方式管理 claude.config.json、CLAUDE.md 和技能配置。 阅读详情

Java中的异常详解

Java异常类层次结构图:



异常分类

java中的异常通常分为 受检异常 和 不受检异常 。
受检异常:编译器要求代码中必须处理的异常,上图中的IOException就属于受检异常。
不受检异常:编译器不要求强制处理的异常,上图中RuntimeException和Error属于不受检异常。

抛出异常

import java.io.EOFException;

/**
 * 
 * @author wangcan
 *
 */
public class Test {

    public static void main(String[] args) throws EOFException {
    	
    	EOFException e = new EOFException();//EOFException:在输入过程中,遇到了一个未预期的EOF后的信号
    	throw e;
    	//或者直接  throw new EOFException();
    }
}

自定义异常类

有些时候,官方自带的异常类不能满足你的需求,这时可以定义自己的异常类,只需要派生于Exception类,或者Exception的子类。

简单示例:

import java.io.IOException;

public class FileFormatException extends IOException{
	
	public FileFormatException(){}
	public FileFormatException(String gripe){
		super(gripe);
	}
}

public class Test {

    public static void main(String[] args) throws FileFormatException {
    	
    	throw new FileFormatException();
    }
}

异常的捕获

使用try catch进行异常的捕获:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

public class Finally {
	void fileWith(){
		InputStream in = null;
		try {
			in = new FileInputStream("wang.txt");
			//其他操作
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}finally{
			try {
				in.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

可以在一个try中捕获多种类型的异常

try {
			//其他操作
		}catch (FileNotFoundException e) {
			e.printStackTrace();
		}catch (UnknownHostException e) {
			e.printStackTrace();
		}catch (IOException e) {
			e.printStackTrace();
		}

捕获多个异常不仅会让代码看起来更简单,而且更高效。


Unity零基础到入门 ☀️| 基础知识入门篇章,看完就可以做游戏啦! | 寻找C站宝藏 Unity入门基础知识。本篇文章介绍了关于Unity入门的一些基础知识,包括基本概念和使用实例。简单易上手,轻松实现Unity入门操作! 阅读详情

相关推荐

ROS2节点通信实战:用C++手写一个‘智能小车’控制模型(附完整代码)

本文详细介绍了如何使用ROS2和C++构建一个智能小车控制模型,涵盖运动控制节点、电池管理服务、参数动态配置和Rviz可视化等核心功能。通过实战项目演示ROS2节点通信机制,帮助开发者快速掌握机器人开发的关键技术,并提供了完整的代码实现和系统集成方案。

weixin_30607029的博客 261

【Java】Java中的异常

在Java中,异常(Exception)是指程序执行过程中可能出现的不正常情况或错误。它是一个事件,它会干扰程序的正常执行流程,并可能导致程序出现错误或崩溃。异常在Java中是以对象的形式表示的,这些对象是从类或其子类派生而来。Throwable和。是表示可检查异常的基类。可检查异常是指在编译时需要显式处理的异常。Exception类及其子类用于表示程序运行过程中可能出现的外部条件、错误或其他可恢复的情况。例如,文件未找到、网络连接中断、输入格式错误等。

qq_61635026的博客 5716

2023-12-26~2025-07-04备份

一、海康视觉与汇川机器人 服务器-客户端通信设置IP在同一网段名称IP端口类型海康相机工控机7930服务器机器人3000客户端海康VM服务器设置1通信管理 增添TCP服务端,设置本机IP:192.168.0.20,端口号79302 协议解析 通信双方约定通信格式(设置收发数据格式,分隔符)机器人客户端设置(不同类型机器人设置有差别)1 通讯服务设置 设置连接服务器IP、服务端端口号、机器人端口号,确保连接正常2 协议解析 使用指令代码构建通讯解析。

青铜小码农 3126

JAVA基础——异常详解

什么是异常?异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域的情况,称之为异常。java中异常的体系是怎么样的呢?1.Java中的所有不正常类都继承于Throwable类。Throwable主要包括两个大类,一个是Error类,另一个是Exception类;2.其中Error类中包括虚拟机错误和线程死锁,一旦Error出现了,程序就彻底的挂了,被称为程序终结者;3.Exception类,也就是通常所说的“异常”。

woaimx_1314的博客 1万+

InVEST模型实战指南:从水源涵养到热岛缓解的生态系统服务评估

本文提供了InVEST模型的实战指南,详细介绍了从环境搭建、数据预处理到核心模型应用的完整流程。通过水源涵养、碳存储、土壤保持和城市热岛缓解等核心模型的拆解,帮助生态学者与规划者系统量化评估生态系统服务,将复杂的生态价值转化为直观的空间数据与地图,为科学决策提供有力支撑。

weixin_29197051的博客 429

SD-WAN组网案例——数据中心

SD-WAN组网案例——数据中心

2301_78457663的博客 705

Java中的异常

java中的异常 1. 异常产生的原因和分类 1.1 异常产生的原因 1.2 异常分类 2. 异常的处理 2.1 防御式编程 2.2 异常的抛出(throw) 2.3 异常的捕获 2.3.1 throws异常声明 2.3.2 try-catch捕获异常并处理 2.3.3 finally 3.自定义异常类

m0_58761900的博客 2万+

【47】软考软件设计师——全真模拟卷(下午题)|5道案例分析+答题模板+评分标准

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第47篇,属于**模块六:冲刺与模拟**第四篇,严格遵循软考下午题真题规范(5道案例分析题,150分钟,满分75分,45分及格),覆盖数据流图(DFD)、E-R图与关系模式、UML类图与用例图、算法设计与代码填空、设计模式应用五大核心题型。全文采用“真题级案例+分步答题模板+采分点明细+评分标准”的形式,每道题配套“审题技巧→解题步骤→规范作答模板→常见错误扣分点”,深度拆解案例分析题的得分逻辑,帮助考生掌握“按点踩分、规范表述、避坑扣分”的核心能力

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 685

2020-11-08

Java:详解Java中的异常(Error与Exception) 置顶王小二(IT)2018-06-22 16:54:2666242收藏389 分类专栏:编程语言(Java基础)文章标签:trycatchfinallyError 版权 《Java:详解Java中的异常(Error与Exception)》 《Java:简述Java中的自定义异常》 《Java:简述throw-throws异常抛出》 《Java:简述try-catch-finally异常捕获》 《J...

weixin_39743450的博客 1045

[PCIE5.0] 4.2.3.2 Encoding of Presets

• 发射器预设:发射器预设值用4位二进制编码,表示不同的预设设置(P0 到 P10),这些设置定义了信号的传输特性。• 接收器预设提示:接收器预设提示是通过3位二进制编码告诉接收器建议的增益值,用于调整接收器的灵敏度(适用于8.0 GT/s数据速率)。

系统固件工程师 574

芒果YOLOv8改进52:主干Backbone篇之GhostNetV2:提出原创GhostNetV2 架构升级版:引入长距离注意力机制增强廉价操作,构建更强端侧轻量型骨干,打造高效轻量级检测器

长距离注意力机制增强廉价操作,打造轻量级检测器

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1611

详解Java之异常

捕获异常,抛出异常,关于finally的注意事项,自定义异常。

. 1万+

innovus:InstPad、CellPad 、module padding、clock cell halo

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?site_num指的是padding的大小以site宽度为单位。

m0_61544122的博客 2023

Java中的异常总结详解(异常类型、声明异常、抛出异常、捕获异常)

Java 异常解析前言 前言

YING—country的博客 3万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Java异常类详解

Java

qq_50692350的博客 7909

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

详解Java中的checked异常和unchecked异常

Java中checked和unchecked异常的区分,以及java的异常层次结构,应该对哪些异常进行声明。

在地图上飞行 4万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Java——异常详解

本章需掌握:throw、try、catch、finally、throws、Exception、RuntimeException 异常处理核心:EAFP

Yuan_o_的博客 1035

JAVA中的异常超详解

通常使用java语言内置的异常类就可以描述在编写程序时出现的大部分情况,但是有些时候,程序员需要根据程序设计的需要来创建自己的异常类,用以描述java语言内置异常类所不能描述的一些特殊情况。下面就来介绍如何创建和如何自定义异常。自定义异常类必须继承自Throwable类,才能被视为异常类,通常是继承Throwable的子类Exception或者Exception类的子孙类。下面是一个实例来演示如何创建一个自定义异常类1、创建一个MYException异常类,它必须继承Exception类。

2302_79993788的博客 1548

Java 异常详解

Java 内置的异常类覆盖了大部分常见错误,但在实际开发中,我们可能需要业务相关的异常(如“用户不存在”“余额不足”),这时可以通过自定义异常类实现。继承Exception(自定义受检异常)或(自定义非受检异常)。提供构造方法(通常至少实现无参构造和带消息的构造)。// 自定义受检异常(继承 Exception)// 无参构造super();// 带消息的构造// 调用父类构造,传递异常信息// 自定义非受检异常(继承 RuntimeException)

2501_91241024的博客 2065

java中的异常

我们实现一个用户登陆功能if (!if (!System.out.println("登陆成功");自定义异常具体实现方法1.自定义异常类,然后继承Exception或RunTimeException2.实现一个带有String类型参数的构造方法,参数含义:异常出现的原因。上面的login代码可以改成这样if (!throw new UserNameException("用户名错误!");if (!throw new PasswordException("用户名错误!");

DXY798的博客 1485

java中的异常_Java中的异常详解

一、异常介绍一、介绍即程序执行过程中发生的不正常的现象(开发过程中的语法错误和逻辑错误不属于异常)。在Java程序中,异常对象都是派生于Throwable类的子类的实例执行,可以分为两类:Error和Exception,大多数情况下我们说的异常指的是Exception。 Error:Java运行时系统内部错误与资源耗尽错误,这是Java虚拟机无法解决的严重问题,开发者无能为力。如:JVM系统内...

weixin_39935903的博客 173

java 事件异常_详解Java中的异常

相关推荐13.1 异常的介绍所谓异常是指在程序运行过程中发生的一些不正常事件。(如:除0溢出,数组下标越界,所要读取的文件不存在)。Java程序的执行过程中如果出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息,并将其提交给Java运行时系统,这个过程称为抛出异常,不处理的话会直接导致程序中断。设计良好地程序应该能够在程序异常发生时提供处理这些异常的方法,使得程序不会因异常的发...

weixin_28703451的博客 388

Java异常详解

一、异常1、异常的概述  1)异常:就是程序在运行时出现不正常情况。   2)异常由来:问题也是现实生活中一个具体的事物,也可以通过java类的形式进行描述。并封装成对象。其实就是java对不正常情况进行描述后的对象体现。2、异常的体系  对于问题的划分有两种:一种是严重的问题,java通过Error类对其进

Oner.wv的专栏 1736
上一篇: Java中final,finalize和finally的区别
下一篇: Java中的装箱,拆箱详解
cassiePython
博客等级 码龄12年 303粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值