促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
全部目标
全部级别
抛出异常
模块 1
第 21 级,
课程 2
1.throw操作员 当一个异常被一个catch块捕获时,直到它被抛给 Java 机器,它只是一个继承Exception(或者更确切地说,Throwable)的对象。异常对象本身没有任何神奇的属性。 异常如何工作的所有逻辑只是 Java 机器在抛出异常时的一种特殊行为方式。 您始终可以将捕获的异常重新抛出给 Java 机器。为此,您需要使用throw运算符: throw exception; 例子: 代码 控制台输出 try
异常类型
模块 1
第 21 级,
课程 3
1.异常类型 所有的异常分为4种类型,它们实际上是相互继承的类。 Throwable班级 所有异常的基类是类Throwable。该类Throwable包含将当前调用堆栈(当前方法的堆栈跟踪)写入数组的代码。稍后我们将了解堆栈跟踪是什么。 throw运算符只能接受从Throwable类派生的对象。尽管理论上您可以编写类似 的代码throw new Throwable();,但通常没有人这样做。该类的主要目的Throwable是为所有异常提供一个父类。 Error班级 下一个异常
创建自己的例外
模块 1
第 22 级,
课程 0
我认为您可能遇到过这样的情况:您运行代码并以类似NullPointerException、ClassCastException或更糟的方式结束......接下来是调试、分析、谷歌搜索等的漫长过程。异常是美妙的:它们表明问题的性质和发生的地方。如果您想重温记忆并了解更多信息,请查看这篇文章:异常:已检查、未检查和自定义。 也就是说,在某些情况下您可能需要创建自己的异常。例如,假设您的代码需要从由于某种原因不可用的远程服务请求信息。或者假设有人填写银行卡申请表并提供了一个电话号码
堆栈跟踪
模块 1
第 22 级,
课程 1
1.获取堆栈跟踪 Java 编程语言为程序员提供了许多方法来获取有关程序中发生的事情的信息。而不仅仅是文字。 例如,C++程序编译后变成了一个充满机器代码的大文件,而程序员在运行时可用的只是包含当前正在执行的机器代码的内存块的地址。不是很多,让我们说。 但是对于 Java 来说,即使在程序被编译之后,类仍然是类,方法和变量并没有消失,程序员有很多方法可以获取有关程序中发生的事情的信息。 堆栈跟踪 例如,在程序执行的某个时刻,您可以找出当前正在执行的方法的类和名称。而不仅仅是一
Try-with-resources 语句
模块 1
第 22 级,
课程 2
1. 外部资源 当 Java 程序运行时,有时它会与 Java 机器外部的实体进行交互。例如,磁盘上的文件。这些实体通常称为外部资源。内部资源是在 Java 机器内部创建的对象。 通常,交互遵循以下方案: 追踪资源 操作系统严格跟踪可用资源,并控制不同程序对它们的共享访问。例如,如果一个程序更改了一个文件,那么另一个程序就不能更改(或删除)该文件。这个原则并不局限于文件,但它们提供了最容易理解的例子。 操作系统具有允许程序获取和/或释放资源的函数 (API)。如果资源繁忙,则
级别的附加课程
模块 1
第 22 级,
课程 3
在这个级别,您了解了异常是如何以及为什么会发生的。这对你以后作为程序员的工作来说是一个非常重要的话题。我们相信您不会因为看到更多真实世界的示例和几篇额外的文章而受到伤害。 异常:捕获和处理 这篇有趣的文章将有助于为您的新知识添加一些结构。 异常:选中、未选中和自定义 在本文中,您将了解有关异常及其组织方式的更多信息。最好的部分是:您将学习如何抛出自己的异常。你觉得如何?
Java中的保留字
模块 1
第 23 级,
课程 0
1.单词表 与任何编程语言一样,Java 具有具有特殊含义的词。例如,return或if或while。这些词称为关键字(keywords),被Java语言认为是保留的。 您不能将这些词用作变量名、方法名或类名。编译器将始终以严格定义的方式解释它们。54Java中有这样的词。 abstract assert boolean break byte case catch char class const continue default do double else enum ex
包装异常
模块 1
第 23 级,
课程 1
3.包装异常 受检异常在理论上看起来很酷,但在实践中却是一个巨大的挫折。 假设你的项目中有一个超级流行的方法。它从您程序中的数百个地方调用。你决定向它添加一个新的检查异常。很可能这个已检查的异常真的很重要而且很特别,只有main()方法知道如果它被捕获时该怎么做。 这意味着您必须将已检查的异常添加到throws调用您的超级流行方法的每个方法的子句中。以及在throws调用这些方法的所有方法的子句中。以及调用这些方法的方法。 结果,throws项目中一半方法的子句得到了一个新的
错误
模块 1
第 23 级,
课程 2
害怕错误,但不要用 Java 编写它们!您可能已经对Java 中的异常有所了解。今天,至少粗浅的知识会让你受益。我们将分析 Error 类和一种特殊的异常类型,当它出现在堆栈跟踪中时会吓到很多人。 在 Java 的异常层次结构的顶部是Throwable类,它有两个后代: Exception,它负责程序中的错误。 而我们今天的主角——Error ,它负责 JVM 中的错误。 值得一提的是,这些可能甚至不是编码错误,而是通常不依赖于开发人员的问题。 如何处理错误 当捕获“错误”时
开关表达式与开关语句
模块 1
第 23 级,
课程 3
当编写带有很多条件的代码时,您肯定使用过if-else或switch语句。但是这种替代if-else的方法有缺点。有些人甚至称switch语句为“反模式”。 那是什么?反模式是错误代码的常见模式,即问题的错误解决方案。程序员试图在代码中避免它们,因为它们会降低代码质量。 但有个好消息:新版本的 Java 对该语言的语法进行了大量更改,其中一项更改会影响switch。感兴趣吗?那么让我们开始吧。 首先,有必要澄清一下为什么switch是一种反模式。考虑以下代码: switch
数据输入流
模块 1
第 24 级,
课程 0
1.数据流 程序很少作为一个孤岛存在。程序通常以某种方式与“外部世界”交互。这可以通过从键盘读取数据、发送消息、从 Internet 下载页面,或者相反,将文件上传到远程服务器来实现。 我们可以用一个词来指代所有这些行为:程序与外界之间的数据交换。等等,这不仅仅是一个词。 当然,数据交换本身可以分为接收数据和发送数据两部分。例如,您使用Scanner对象从键盘读取数据——这就是接收数据。然后您使用命令在屏幕上显示数据System.out.println()——这就是发送数据。
链式流
模块 1
第 24 级,
课程 1
1.InputStreamReader类 流的另一个有趣的特性是您可以将多个流组合成链。一个流不仅可以从它的内部数据源中读取数据,还可以从另一个流中读取数据。 这是 Java 中一种非常强大的机制,它可以通过将一个流连接到另一个流来创建复杂的数据读取场景。这样的方案看起来像这样: 当程序从数据流中读取数据时,数据流又从其数据源(例如另一个数据流或文件)中读取数据。 更重要的是,每个数据流不仅可以读入和发出数据,还可以对其进行转换或对其进行各种操作。这种“中间流”的一个很好的例
显示更多
1
...
9
10
11
12
13
...
35
Please enable JavaScript to continue using this application.