异常作用
. 提高程序的稳定性和可靠性
- 错误处理:异常机制允许程序在运行时遇到错误时,不是直接崩溃,而是能够捕获这些错误,并根据错误类型进行相应的处理。这有助于防止程序因为一个小的错误而完全停止运行,从而提高程序的稳定性。
- 预防资源泄露:在异常发生时,程序可以释放已经占用的资源,如文件句柄、网络连接等,防止资源泄露,影响系统的整体性能。
2. 辅助调试和定位问题
- 异常信息:当异常发生时,系统通常会生成详细的异常信息,包括异常的类型、发生的位置(如文件名和行号)以及可能的错误原因。这些信息对于开发者来说是非常重要的,它们可以帮助开发者快速定位问题所在,从而进行修复。
- 堆栈跟踪:堆栈跟踪是异常信息的一部分,它记录了异常发生时程序执行的路径。通过堆栈跟踪,开发者可以了解程序是如何一步一步走到出错的地方的,这对于问题的分析和解决非常有帮助。
3. 支持自定义异常处理
- 自定义异常:在许多编程语言中,开发者可以定义自己的异常类,以表示特定的错误情况。这样做的好处是可以使异常处理更加灵活和精确,能够更好地适应程序的需求。
- 异常层次结构:通过继承关系,异常可以形成一个层次结构。这种结构使得异常的处理更加系统化,不同类型的异常可以被不同的处理程序捕获和处理。
4. 提升用户体验
- 友好的错误提示:在用户界面程序中,当异常发生时,程序可以捕获这些异常,并向用户显示友好的错误提示信息,而不是直接显示技术性的错误代码。这有助于用户理解发生了什么问题,并可能提供解决问题的建议。
- 自动恢复:在某些情况下,程序可以在捕获异常后尝试自动恢复,以避免用户需要重新启动程序或执行其他复杂的操作来解决问题。
try catch运用规则
public void printStackTrace()
在Java中,当一个异常被抛出时,JVM(Java虚拟机)会创建一个堆栈跟踪(Stack Trace),它包含了导致异常发生的方法调用序列。这个堆栈跟踪对于开发者来说是非常有用的,因为它可以帮助定位异常发生的具体位置,从而更容易地修复问题。
printStackTrace()
方法是Throwable
类中的一个方法,所有的异常类(Exception
及其子类)都继承了Throwable
类,因此它们都具备这个方法。当调用printStackTrace()
方法时,它会将异常的堆栈跟踪信息输出到标准错误流(stderr),这通常是控制台或命令行界面。
综合练习
需求:键盘录入自己心仪的女朋友姓名和年龄。,姓名的长度在3-10之间,,年龄的范围为18-40岁,超出这个范围是异常数据不能赋值,需要重新录入,一直录到正确为止。
提示:,需要考虑用户在键盘录入时的所有情况。,比如:录入年龄时超出范围,录入年龄时录入了abc等情况
代码如下图: