`
李灵晖-raylee
  • 浏览: 135667 次
博客专栏
Group-logo
从头认识java
浏览量:0
文章分类
社区版块
存档分类
最新评论

从头认识java-10.3 自定义异常类型

 
阅读更多

这一章节我们来简单讨论一下自定义异常类型。

一般来说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里面执行代码,输出将会变得不一样。


这一章节就到这里,谢谢。

-----------------------------------

目录




分享到:
评论

相关推荐

    mchange-commons-java-0.2.11.zip

    在Java开发中,这样的库可以极大地提高开发效率,因为它封装了常见的功能,开发者可以直接使用,而无需从头编写代码。 描述中的 "mchange-commons-java-0.2.11.jar包" 是该库的主要组成部分,是一个Java归档(JAR)...

    eclipse-java-2021-12-R-win32-x86_64.zip

    用户可以轻松地导入现有的Java项目,或者从头开始创建新的项目,包括Maven或Gradle构建系统。 3. **构建工具**:Eclipse 集成了构建工具,如Ant和Maven,使得构建和管理项目依赖变得简单。对于现代Java开发,Maven...

    C#自定义控件---自定义水晶按钮控件完整源码.rar

    1. **选择基类**:根据需求,可以选择现有的控件作为基类,如Button、Label等,或者直接继承自Control类,如果需要从头构建所有UI行为。 2. **绘制控件**:使用OnPaint方法重写基类的绘图逻辑。在这个方法中,可以...

    api-ntrip-java-client-master.zip_android_ntrip_ntrip java实现_ntr

    标题中的“api-ntrip-java-client-master.zip”是一个包含Java实现的NTRIP客户端的源代码压缩包,专门针对Android平台。NTRIP(Networked Transport of RTCM via Internet Protocol)是一种用于实时传输GPS(全球...

    Android-Android自定义控件钟表

    在处理时间计算时,可以使用`java.util.Calendar`或`java.time`包下的类来获取当前时间。为了确保钟表实时更新,可能需要设置一个定时器(Timer)或使用Handler的postDelayed()方法来定期调用 invalidate(),这会...

    XLSReadWrite-V6.00.48 for D10.1-D10.3 源码版

    此组件源码的发布,为开发者提供了深入理解其工作原理以及自定义功能的机会,同时也便于集成到自己的项目中,以满足特定的Excel处理需求。 首先,让我们详细了解这个组件的核心功能。XLSReadWrite是一个强大的库,...

    aspose-words-java-23.6-jdk17.jar.zip

    【标题】"Aspose.Words for Java 23.6 with JDK 17 Support" Aspose.Words 是一个强大的文档处理库,专为Java开发者设计,用于创建、操作和转换各种文档格式。版本23.6是这个库的一个重要更新,它引入了对Java ...

    java-Swing外观包

    Java Swing是Java GUI(图形用户界面)开发的一个重要组件,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。Swing提供了丰富的组件库,允许开发者创建美观且功能丰富的交互式用户界面。在这个...

    手把手 - 微服务 Windows 开发环境从头搭建 2022-09-05 直播录像 - 软件安装包-2.zip

    【标题】: "手把手 - 微服务 Windows 开发环境从头搭建 2022-09-05 直播录像 - 软件安装包-2.zip" 这个压缩包文件包含了搭建微服务开发环境所需的基础软件,包括JDK(Java Development Kit)和MySQL数据库。...

    java-多文件上传dome

    - **错误处理**:处理文件上传失败的情况,如文件类型限制、文件读取异常等。 5. **使用第三方库** 实现多文件上传功能,还可以借助第三方库,如Apache Commons FileUpload或Spring MVC的MultipartFile接口,它们...

    Android高级应用源码-自定义View实现折线图.rar

    这个"Android高级应用源码-自定义View实现折线图.rar"压缩包提供了一个实例,展示了如何从头开始构建一个自定义的View来绘制折线图。下面我们将深入探讨这一主题,讲解如何在Android中实现自定义View以及如何绘制...

    VirtualTreeview 最新版支持 XE10.3

    Virtual Treeview是为软件开发人员设计的,它代表了用高级Delphi树控件从头构建的树视图控件。根据它的制造商,该工具的树管理...为了能够启动和运行,必须有Embacadero的RAD Studio XE3-10.3或Delphi7-Delphi XE8。

    Java---笔试题大全

    Java是一种广泛使用的面向对象的编程语言,其特点包括抽象、继承、封装和多态性...这些是Java笔试中常见的知识点,涵盖了面向对象、数据类型、多线程、异常处理、集合框架等方面,对于准备Java面试或笔试来说非常重要。

    Android-HotSaleTags-一个自定义的Android热标签控件

    通过这种方式,开发者可以快速地在应用中实现吸引眼球的热标签效果,而无需从头编写复杂的自定义绘制逻辑。 总之,`Android-HotSaleTags`是一个实用的Android自定义控件,为开发者提供了创建美观且互动的热标签视图...

    Free Spire.Doc for Java - 3.9 无水印

    **Free Spire.Doc for Java - 3.9 无水印** `Free Spire.Doc for Java` 是一款专为Java开发者设计的文档处理库,它允许用户在Java应用程序中创建、编辑和转换Microsoft Word文档。这个3.9版本提供的是无水印版本,...

    java-lib

    2. **数据库操作**:JDBC(Java Database Connectivity)是Java标准的数据库连接库,允许程序与各种类型的数据库进行交互。除此之外,还有像Hibernate和MyBatis这样的对象关系映射(ORM)框架,它们简化了SQL查询,...

    curso-java-pildorasInf:从头开始学习Java

    【标题】:“curso-java-pildorasInf:从头开始学习Java” 这门“从头开始学习Java”的课程,源自"PillsInformática"的教育资源,旨在为初学者提供全面的Java编程知识。Java是一种广泛使用的面向对象的编程语言,由...

    Android高级应用源码-自定义键盘.rar

    这个资源提供了从头构建自定义键盘的实践经验,对于提升Android应用的用户体验具有重要意义。 自定义键盘的基本概念: 1. 自定义键盘(InputMethodService)是Android系统服务的一种,继承自Service,用于替代系统...

    使用渲染脚本实现模糊视图背景 - Java - 下载.zip

    在Java开发中,创建具有模糊效果的视图背景可以提升应用程序的用户体验,使其看起来更加现代和精致。"使用渲染脚本实现模糊视图背景"是一个常见的技术实践,它通常涉及到图形处理和用户界面的设计。在这个项目中,...

Global site tag (gtag.js) - Google Analytics