blade create jvm throwCustomException

介绍

指定类方法抛自定义异常,命令可以简写为 blade c jvm tce

参数

以下是此场景特有参数,通用参数详见:[blade create jvm](blade create jvm.md)
1
--effect-count string 影响的请求条数
2
--effect-percent string 影响的请求百分比
3
--exception string 异常类,带全包名,必须继承 java.lang.Exception 或 java.lang.Exception 本身
4
--exception-message string 指定异常类信息,默认值是 chaosblade-mock-exception
Copied!

案例

类名:com.example.controller.DubboController,业务代码如下:
1
private String sayHello(String name) throws BeansException {
2
demoService = (DemoService)SpringContextUtil.getBean("demoService");
3
StringBuilder result = new StringBuilder();
4
result.append(demoService.sayHello(name));
5
return result.toString();
6
}
Copied!
指定以上方法抛出 java.lang.Exception 异常,影响两条请求,命令如下
1
blade c jvm throwCustomException --exception java.lang.Exception --classname com.example.controller.DubboController --methodname sayHello --process tomcat --effect-count 2
2
3
{"code":200,"success":true,"result":"3abbe6fe97d6bc75"}
Copied!
验证结果: 注入前:
注入后:
第三次请求后恢复正常:
停止实验:
1
blade d 3abbe6fe97d6bc75
Copied!

常见问题

Q: java.lang.Throwable not assign from java.lang.Exception A: 配置 --exception 参数值 java.lang.Throwable,其不是 java.lang.Exception 的子类
Last modified 4d ago