各位读者,早安、午安、晚安!
如果您发现这篇文章对您有所启发,
不妨点赞、评论、分享,您的支持是我不断进步的动力。
也欢迎您将这篇文章推荐给更多人。
今天我们将深入探讨Java面向对象编程中的抽象类和接口,让我们一起来看看它们是如何协同工作的。
目录
1.(throws和throw)我们选择忽略这个异常,将其向外抛出
3:关于“调用栈”(e.printStackTrace())
第一次复习:
在Java中,程序执行过程中出现的非正常行为被称为异常。
要理解异常,我们首先需要了解以下概念:
从上图可以看出:
Throwable:作为异常体系的根类,它有两个重要的子类,Error 和 Exception。
Error:指的是Java虚拟机无法解决的严重问题,例如:JVM内部错误、资源耗尽等,典型的例子包括:
StackOverflowError 和 OutOfMemoryError,一旦发生,通常无法恢复。
- Exception:这类异常发生后,程序员可以通过代码进行处理,使程序继续执行。例如:感冒、发烧。我们通常所说的异常就是指Exception。
异常处理的基本策略:
关于异常的一般处理方法:
异常的种类繁多,我们需要根据不同的业务场景来决定处理方式。
对于严重的问题(如涉及金钱的场景),应让程序直接终止,以防止更严重的后果。
对于不太严重的问题(大多数场景),可以记录错误日志,并通过监控系统及时通知开发人员。
对于可能恢复的问题(如网络相关的场景),可以尝试重试。
在我们当前的代码中,我们采取的是简化的第二种方式。我们记录的错误日志包含了出现异常的方法调用信息,这可以帮助我们快速定位异常发生的位置。在实际工作中,我们会采取更全面的方式来记录异常信息。
例如,在我们之前的编码实践中经常遇到的:
1:算术异常
```java
System.out.println(10/0);
```
- 数组越界异常
int[] arr = {1, 2, 3};
System.out.println(arr[100]);
3:空指针异常
```java
int[] array = null;
System.out.println(array.length);
```
![](https://
文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4563.html