比如某gen_server:
Erlang代码 收藏代码
...
hello(A,B,C) when is_atom(A),is_integer(B),is_binary(C) ->
gen_server:cast(?SERVER,{hello, A, B, C}).
handle_cast({hello, A, B, C}, State} ->
....
{noreply, State}.
...
将断言加在hello/3上显然比加在handle_cast/2上合理。
如果将断言加在handle_cast上,调用发起方出错将造成此server无故重启甚至失效,无法为其他进程提供服务,而作为出错的调用方却不受影响。
将断言加于hello上,调用方将因自己的错误发生异常,从而正确的报告异常或者拥有重启恢复的机会,也不会影响目标服务和其他进程。
分享到:
相关推荐
周鸿祎断言移动互联网:盈利模式只有三个.docx
在选择的Sampler下添加对应的断言,配置好响应的检查内容。 添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言; 对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称...
主要介绍了java异常处理机制示例(java抛出异常、捕获、断言),需要的朋友可以参考下
使用springboot框架快速搭建,封装自定义断言做业务校验,公共异常处理打印日志, 更简单的业务判断处理
SCJP 310-055 题库Module 4 异常和断言
AssertException: 断言失败 特点是: 代码简化 使用前: 集成全局异常处理 DataException: 数据异常 特点是: 数据库的数据效验类的异常 (如: 数据不存在, 数据已存在, 数据缺失, 数据不合法) RemoteInvokeException: ...
python:playwright 自动等待和断言(csdn)————程序
定义异常 使用try、catch 和 finally 语句 描述异常分类 识别普通异常 编写程序自己处理异常 使用断定 区分适当喝不适当的断定的使用 运行时屏蔽断定
Swift视频教程:Swift基础,断言
java 异常和断言 let us believe it do you
如果condition为False,断言会引发一个AssertionError异常,并将message作为异常的错误消息。 下面是一个简单的例子,演示了如何使用断言来检查一个条件: def divide(x, y): assert y != 0, "除数不能为0" return x...
其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部...
Java异常和断言PPT教案学习.pptx
静态断言(编译时断言)不同于运行时断言哈。
统一异常处理、断言和枚举结合使用案例
如果条件不满足,断言会抛出一个AssertionError异常,从而提醒程序员代码存在问题。 Python中断言的语法非常简单,只需要使用assert关键字即可。assert语句的一般形式如下: assert expression [, arguments] 其中,...
Cadence公司的断言验证手册,介绍基于SVA的断言验证注意事项。
让你轻松查阅Debug时令人崩溃的Assert报错原因,包括断言、所在函数、具体位置以及错误解析。
在讲解之前,我们先来对断言做一个基本的介绍,让大家对断言有一个大致的了解。
JAVA断言技术详解,1、What will happen when you attempt to compile and run the following code? (Assume that the code is compiled and run with assertions enabled) 1. public class AssertTest 2. { 3. ...