这一章节我们来简单讨论一下自定义异常类型。
一般来说java里面定义的异常类型已经够我们使用,但是,在实际操作中我们还需要其他一些自定义的类型。
在异常部分,我们一般使用类的名字就基本足够的。
下面是最简单的自定义异常类型:
package com.ray.ch10;
public class Test {
public static void main(String[] args) throws SimpleException {
throw new SimpleException();
}
}
class SimpleException extends Exception {
}
然后在开发中,上面的代码太简单,没什么用,我们再扩展一下:
package com.ray.ch10;
public class Test {
public static void main(String[] args) throws SimpleException {
// throw new SimpleException();
throw new SimpleException("自定义异常");
}
}
class SimpleException extends Exception {
public SimpleException() {
}
public SimpleException(String msg) {
super(msg);
}
}
输出:
com.ray.ch10.SimpleException: 自定义异常
at com.ray.ch10.Test.main(Test.java:7)
我们在代码里面加上自定义的信息这一部分。这样基本就可以满足需求。
上面的代码把输出流输入到标准错误流里面,然而,我们可以通过下面的修改,把输出部分当成普通输出流来处理。
package com.ray.ch10;
public class Test {
public static void main(String[] args) {
// throw new SimpleException();
try {
throw new SimpleException("自定义异常");
} catch (SimpleException e) {
e.printStackTrace(System.out);//改变的地方
}
}
}
class SimpleException extends Exception {
public SimpleException() {
}
public SimpleException(String msg) {
super(msg);
}
}
输出:
com.ray.ch10.SimpleException: 自定义异常
at com.ray.ch10.Test.main(Test.java:7)
两者的输出是一样的,但是如果我们放到ide里面执行代码,输出将会变得不一样。
这一章节就到这里,谢谢。
-----------------------------------
目录
分享到:
相关推荐
在Java开发中,这样的库可以极大地提高开发效率,因为它封装了常见的功能,开发者可以直接使用,而无需从头编写代码。 描述中的 "mchange-commons-java-0.2.11.jar包" 是该库的主要组成部分,是一个Java归档(JAR)...
用户可以轻松地导入现有的Java项目,或者从头开始创建新的项目,包括Maven或Gradle构建系统。 3. **构建工具**:Eclipse 集成了构建工具,如Ant和Maven,使得构建和管理项目依赖变得简单。对于现代Java开发,Maven...
1. **选择基类**:根据需求,可以选择现有的控件作为基类,如Button、Label等,或者直接继承自Control类,如果需要从头构建所有UI行为。 2. **绘制控件**:使用OnPaint方法重写基类的绘图逻辑。在这个方法中,可以...
标题中的“api-ntrip-java-client-master.zip”是一个包含Java实现的NTRIP客户端的源代码压缩包,专门针对Android平台。NTRIP(Networked Transport of RTCM via Internet Protocol)是一种用于实时传输GPS(全球...
在处理时间计算时,可以使用`java.util.Calendar`或`java.time`包下的类来获取当前时间。为了确保钟表实时更新,可能需要设置一个定时器(Timer)或使用Handler的postDelayed()方法来定期调用 invalidate(),这会...
此组件源码的发布,为开发者提供了深入理解其工作原理以及自定义功能的机会,同时也便于集成到自己的项目中,以满足特定的Excel处理需求。 首先,让我们详细了解这个组件的核心功能。XLSReadWrite是一个强大的库,...
【标题】"Aspose.Words for Java 23.6 with JDK 17 Support" Aspose.Words 是一个强大的文档处理库,专为Java开发者设计,用于创建、操作和转换各种文档格式。版本23.6是这个库的一个重要更新,它引入了对Java ...
Java Swing是Java GUI(图形用户界面)开发的一个重要组件,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。Swing提供了丰富的组件库,允许开发者创建美观且功能丰富的交互式用户界面。在这个...
【标题】: "手把手 - 微服务 Windows 开发环境从头搭建 2022-09-05 直播录像 - 软件安装包-2.zip" 这个压缩包文件包含了搭建微服务开发环境所需的基础软件,包括JDK(Java Development Kit)和MySQL数据库。...
- **错误处理**:处理文件上传失败的情况,如文件类型限制、文件读取异常等。 5. **使用第三方库** 实现多文件上传功能,还可以借助第三方库,如Apache Commons FileUpload或Spring MVC的MultipartFile接口,它们...
这个"Android高级应用源码-自定义View实现折线图.rar"压缩包提供了一个实例,展示了如何从头开始构建一个自定义的View来绘制折线图。下面我们将深入探讨这一主题,讲解如何在Android中实现自定义View以及如何绘制...
Virtual Treeview是为软件开发人员设计的,它代表了用高级Delphi树控件从头构建的树视图控件。根据它的制造商,该工具的树管理...为了能够启动和运行,必须有Embacadero的RAD Studio XE3-10.3或Delphi7-Delphi XE8。
Java是一种广泛使用的面向对象的编程语言,其特点包括抽象、继承、封装和多态性...这些是Java笔试中常见的知识点,涵盖了面向对象、数据类型、多线程、异常处理、集合框架等方面,对于准备Java面试或笔试来说非常重要。
通过这种方式,开发者可以快速地在应用中实现吸引眼球的热标签效果,而无需从头编写复杂的自定义绘制逻辑。 总之,`Android-HotSaleTags`是一个实用的Android自定义控件,为开发者提供了创建美观且互动的热标签视图...
**Free Spire.Doc for Java - 3.9 无水印** `Free Spire.Doc for Java` 是一款专为Java开发者设计的文档处理库,它允许用户在Java应用程序中创建、编辑和转换Microsoft Word文档。这个3.9版本提供的是无水印版本,...
2. **数据库操作**:JDBC(Java Database Connectivity)是Java标准的数据库连接库,允许程序与各种类型的数据库进行交互。除此之外,还有像Hibernate和MyBatis这样的对象关系映射(ORM)框架,它们简化了SQL查询,...
【标题】:“curso-java-pildorasInf:从头开始学习Java” 这门“从头开始学习Java”的课程,源自"PillsInformática"的教育资源,旨在为初学者提供全面的Java编程知识。Java是一种广泛使用的面向对象的编程语言,由...
这个资源提供了从头构建自定义键盘的实践经验,对于提升Android应用的用户体验具有重要意义。 自定义键盘的基本概念: 1. 自定义键盘(InputMethodService)是Android系统服务的一种,继承自Service,用于替代系统...
在Java开发中,创建具有模糊效果的视图背景可以提升应用程序的用户体验,使其看起来更加现代和精致。"使用渲染脚本实现模糊视图背景"是一个常见的技术实践,它通常涉及到图形处理和用户界面的设计。在这个项目中,...