JAVA基础复习-异常处理
2022/1/2 20:37:35
本文主要是介绍JAVA基础复习-异常处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
异常处理
1、异常处理方式
-
try-catch方式
-
throws方式
throws + 异常类型,写在方法的声明处。指明此方法执行时,可能会抛出的异常类型。一旦当方法体执行时出现异常,就会在异常处生成一个异常类的对象,此对象满足throws异常类型时,就会被抛出。异常后续的代码就不再执行。
2、两种异常处理方式区别
-
try-catch-finally
真正的将异常给处理掉了。
-
throws
只是将异常抛给了方法的调用者,并没有真正的将异常处理掉。
3、两种异常处理方式的选择
- 如果父类中被重写的方法没有用throws方式处理异常,则子类重写的方法也不能用throws处理异常,如果子类重写的方法中有异常,必须使用try-catch-finally的方式处理。
- 执行的方法a()中,先后调用了另外的几个方法,这几个方法时通过递进关系执行的。建议这几个方法的异常使用throws方式进行处理,而执行的方法a()可以使用try-catch-finally的方式处理。
4、手动抛出异常对象
-
手动抛出Exception类型异常
方法中手动抛出Exception类型异常,则方法中必须使用throws方式处理异常,且调用者必须对该异常进行处理,使用try-catch或者throws继续抛出此异常。
-
手动抛出RuntimeException类型异常
调用者不用对该运行时异常进行处理,程序运行时遇到异常后,自动抛出到控制台。
/** * 手动抛出异常 */ public class testException { public static void main(String[] args) { Student student = new Student(); try { student.addStudent(-1); } catch (Exception e) { //输出异常处理信息 System.out.println(e.getMessage()); } } } /** * 手动抛出Exception异常 */ class Student { private Integer age; public void addStudent(Integer age) throws Exception { if (age > 0) { this.age = age; } else { throw new Exception("年龄必须大于0"); } } } class testException2 { public static void main(String[] args) { Student2 student = new Student2(); student.addStudent(-1); } } /** * 手动抛出RuntimeException异常 */ class Student2 { private Integer age; public void addStudent(Integer age) { if (age > 0) { this.age = age; } else { throw new RuntimeException("年龄必须大于0"); } } }
5、自定义异常
自定义异常步骤:
- 继承于现有的异常类:RuntimeException、Exception等;
- 提供全局常量;
- 提供重载的构造器。
/** * 自定义异常,继承Exception */ public class MyException extends Exception { //网络通信传输时,标识该类唯一 static final long serialVersionUID = -3387516993124229948L; public MyException() { } public MyException(String msg) { //调用父类的构造方法处理 super(msg); } }
这篇关于JAVA基础复习-异常处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南