在接口开发的过程中,为了程序的健壮性,经常要考虑到代码执行的异常,并给前端一个友好的展示,这里就用到的自定义异常,继承RuntimeException类。那么这个RuntimeException和普通的Exception有什么区别呢。
-
Exception: 非运行时异常,在项目运行之前必须处理掉。一般由程序员try catch 掉。
-
RuntimeException,运行时异常,在项目运行之后出错则直接中止运行,异常由JVM虚拟机处理。
在接口的逻辑判断出现异常时,
可能会影响后面代码。或者说绝对不容忍(允许)该代码块出错,那么我们就用RuntimeException,但是我们又不能因为系统挂掉,只在后台抛出异常而不给前端返回友好的提示吧,至少给前端返回出现异常的原因。因此接口的自定义异常作用就体现出来了。
1.代码示例
1.1 直接返回RuntimeException异常消息
if (StringUtils.isBlank(assignee)) {
throw new RuntimeException("注册表中未查到用户手机号");
1.2 继承RuntimeException类自定义异常
* App接口运行时异常
* Created by lhy on 2019/3/19.
@Data
public class AppRuntimeException extends RuntimeException {
//默认的错误码
private String errorCode = "error";
//默认的错误码
private String mess = "未知错误";
HttpStatus httpStatus;
* @param mess
public AppRuntimeException(String mess) {
super();
this.mess = mess;
this.httpStatus = HttpStatus.OK;
public AppRuntimeException(String mess, HttpStatus httpStatus) {
super();
this.mess = mess;
this.httpStatus = httpStatus;
1.3 使用自定义异常示例
//获取用户身份信息
CertifiedUser certifiedUser = this.currentUser();
if (null == certifiedUser) {
throw new AppRuntimeException("用户信息获取失败");
在接口开发的过程中,为了程序的健壮性,经常要考虑到代码执行的异常,并给前端一个友好的展示,这里就用到的自定义异常,继承RuntimeException类。那么这个RuntimeException和普通的Exception有什么区别呢。Exception: 非运行时异常,在项目运行之前必须处理掉。一般由程序员try catch 掉。 RuntimeException,运行时异常,在...
关于自定义异常在接口开发中继承RuntimeException的使用总结
在接口开发的过程中,为了程序的健壮性,我们经常考虑到代码执行的异常,并给前端一个友好的展示,这里就用到自定义异常,继承RuntimeException类。这个RuntimeException和普通的Exception有什么区别呢?
(1)Exception:非运行时异常,在项目运行之前必须处理掉。一般由程序员 try…catch掉。
(2)RuntimeException:运行时异常,在项目运行之后出错则直接终止运行,异常由J
1、在实际的项目中,我们需要跟业务相关的异常,javaAPI中是没有的,所以我们要自定义package cn.tx.array;public class StockException extends RuntimeException{public StockException(){ super();
public StockException(String mes ,Throwable c
Spring Boot 自定义统一异常处理
public class CommonException extends RuntimeException {
private static final long serialVersionUID = -3032821876599556414L;
private Integer code;
private String msg;...
//创建自定义的ageException
class ageException extends RuntimeException{
public ageException(String message) {
super(message);
//可以创建一个年龄类
fina.
可以的,关于Java中异常处理机制的使用案例,以下几种情况常见:
1. try-catch语句块:try语句块中执行需要进行异常处理的代码,如果发生异常则会跳转到catch语句块中进行异常处理,处理完成后代码会继续执行try-catch语句块后面的代码。
2. throws关键字:在方法声明中使用throws关键字声明可能抛出的异常,调用该方法时需要进行异常处理,否则编译器会报错。
3. RuntimeException:RuntimeException及其子类的异常不需要在方法声明中使用throws关键字进行声明,但是依然需要在代码中进行处理,否则程序会崩溃。
4. try-with-resources语句块:针对Java7及以上版本,使用try-with-resources语句块自动进行资源的关闭操作,可以避免资源泄漏的情况。
以上是常见的Java中异常处理机制的使用案例,希望对你有帮助。