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

从头认识java-10.2 异常参数以及捕获异常

 
阅读更多

这一章节我们来简单讨论一下异常参数以及捕获异常。

1.异常参数

在异常当中我们可以加入参数,从而使异常更加清晰。

package com.ray.ch10;


public class Test {

	public static void main(String[] args) {
		throw new RuntimeException("运行时异常");
	}

}


输出:

Exception in thread "main" java.lang.RuntimeException: 运行异常
at com.ray.ch10.Test.main(Test.java:7)

从输出结果可以看见,我们可以通过参数传递一些信息给程序员,使得代码异常更加明确。

2.捕获异常

(1)try块

package com.ray.ch10;

public class Test {

	public static void main(String[] args) {
		try {
			//dosomething
		} finally {
			
		}
	}
}


注意:try块需要联合finally一起使用,其实这样就保证即便有异常,也会有最终的处理。

try只是尝试各种语句,然后有异常就会在异常点停止执行代码,最后有finally收尾,但是在这个过程里面不处理异常。(当然我们也可以把finally看作是一种处理)

package com.ray.ch10;

public class Test {

	public static void main(String[] args) {
		try {
			throw new RuntimeException();
		} finally {
			System.out.println("dosomething");
		}
	}
}


(2)try catch

package com.ray.ch10;

public class Test {

	public static void main(String[] args) {
		try {
			throw new RuntimeException("抛出运行时异常");
		} catch (RuntimeException e) {
			System.out.println("处理运行时异常");
			e.printStackTrace();
		} catch (Exception e) {
			System.out.println("处理异常");
			e.printStackTrace();
		}
	}
}



输出:

处理运行时异常
java.lang.RuntimeException: 抛出运行时异常
at com.ray.ch10.Test.main(Test.java:7)

从输出结果可以看到,处理异常的步骤:

(1)发现异常

(2)找到自己类型的异常,一般来说,异常的类型就已经是一个异常信息。

(3)处理异常

(4)抛出异常,并在异常地点断开代码的执行

注意:一般是先找到自己类型的异常,如果找不到,再向上转型。

3.异常处理的模型

异常处理模型分为两种:断开与恢复

我们上面演示的都是断开的处理模型,如果是恢复模型,则把try放到while里面,直到处理结果满意为止,但是这样增添了无数维护成本,因此最终大部分的情况都只是使用断开模型。

总结:这一章节简单讲述了异常参数以及捕获异常。

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

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

目录

分享到:
评论

相关推荐

    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...

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

    总的来说,这个项目提供了从头开始构建一个NTRIP客户端的机会,涵盖了Android应用开发的多个方面,包括网络通信、协议解析、用户界面设计以及错误处理。对于想要深入理解Android开发和NTRIP协议的开发者来说,这是一...

    aip-java-sdk-4.2.0

    标题 "aip-java-sdk-4.2.0" 指的是一个针对Android平台的AIP(Artificial Intelligence Platform)SDK的特定版本,版本号为4.2.0。这个SDK是百度公司提供的,用于帮助开发者在Android应用程序中集成和使用百度的各种...

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

    它包含了Java编译器、Java运行时环境(JRE)、调试器、文档以及各种实用工具。对于微服务开发来说,JDK的重要性在于: 1. **Java编程语言**:微服务通常使用Java作为主要开发语言,因为Java具有跨平台性、稳定性和...

    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提供了丰富的组件库,允许开发者创建美观且功能丰富的交互式用户界面。在这个...

    java-多文件上传dome

    在Java编程中,多文件...通过这个"java-多文件上传dome"工具包,你可以快速实现上述功能,无需从头编写所有代码。不过,记得在实际项目中,除了功能实现,还要关注性能、安全性和可维护性,确保应用程序的稳定运行。

    Java---笔试题大全

    5. **运行时异常与一般异常**:运行时异常是程序运行过程中可能出现的错误,如空指针异常,编译器不要求强制捕获。而一般异常是必须声明或捕获的异常,如IOException。 6. **Servlet生命周期**:Servlet的生命周期...

    java-sdk-master.zip_leancound集成第三方插件_即时通讯

    Java SDK是许多软件开发中的重要组成部分,特别是在与服务器端交互时。在这个名为"java-sdk-master.zip"的压缩包中,包含的是Leancound的Java SDK,这是一个专为集成Leancound服务而设计的开发工具包。Leancound是...

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

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

    TMS.Pack.for.FireMonkey.v.3.5.3.0.XE6-XE10.2.Src.rar

    《TMS Pack for FireMonkey v.3.5.3.0 XE6-XE10.2 源码解析》 TMS Pack for FireMonkey(TMS FMX Pack)是一款专为FireMonkey框架设计的组件包,适用于Embarcadero的Delphi编程环境。这个版本号为3.5.3.0,支持从XE...

    java-lib

    在Java编程中,库(Library)是预先编写好的代码集合,程序员可以导入并直接使用,无需从头开始编写所有功能。这些库通常以JAR(Java Archive)文件的形式存在,里面封装了类和方法,可供应用程序调用。Java库广泛...

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

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

    java-pdf&word-jar.zip

    Java平台提供了一系列库来支持这些操作,本项目中涉及的主要有Spire.Doc、Spire.PDF以及Apache PDFBox。让我们详细探讨这些库的功能及其在Java开发中的应用。 首先,`Spire.Doc.jar`是Spire.Doc for Java的库文件,...

    ks-java-lib:包含 Java 的 KS 库

    【标题】"ks-java-lib:包含 Java 的 KS 库" 提供的是一个专门为 Java 开发者设计的库,它扩展了 Java 的功能,为开发者在处理特定任务时提供了便利。这个库可能包含了丰富的类和方法,旨在简化开发过程,提高代码的...

    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程序注册windows 服务

    例如,`wrapper.java.mainclass`定义了Java应用程序的主类,`wrapper.java.additional`则用于添加JVM参数。 4. **注册服务**: 使用服务包装器提供的命令行工具或API,可以将Java程序注册为Windows服务。例如,在...

Global site tag (gtag.js) - Google Analytics