`
arksea
  • 浏览: 62658 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

断言位置的选择:谁犯错谁异常

阅读更多

     比如某gen_server:

...

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

    周鸿祎断言移动互联网:盈利模式只有三个.docx

    Java断言(assert)

    Java断言(assert) Java断言是一种 debugging 机制,允许开发者在Java...Java断言是一种强大的调试工具,可以帮助开发者快速地检测程序中的错误和异常。但是,断言应该谨慎使用,不然可能会影响程序的性能和可靠性。

    JMETER 断言几种方式

    在选择的Sampler下添加对应的断言,配置好响应的检查内容。 添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言; 对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称...

    java异常处理机制示例(java抛出异常、捕获、断言)

    总结来说,Java异常处理机制提供了一种结构化的方法来处理程序运行时的错误,通过try-catch-finally结构捕获和处理异常,同时,利用断言进行内部逻辑验证,以及日志记录来跟踪程序行为。这样的机制增强了代码的健壮...

    Jmeter中断言的使用方法.doc

    2. 选择响应断言:在Jmeter中,可以选择响应断言来判断返回结果。一般选择响应文本,然后选择匹配规则,可以选择“包含”或“匹配”。 3. 添加断言内容:在添加断言时,需要添加要响应的内容,可以是某个字符串、...

    业务异常提示处理 springboot+Assert(自定义断言)

    使用springboot框架快速搭建,封装自定义断言做业务校验,公共异常处理打印日志, 更简单的业务判断处理

    2022年游戏软件测试培训讲义(共31张PPT).pptx

    硬断言是指在软件中使用断言来检测错误和异常情况,而软断言是指在软件中使用断言来检测可能出现的错误和异常情况。 6.断言的优点:断言可以快速地发现软件问题,并对问题进行定位和解决,从而提高软件的可靠性和可...

    浅析Java异常处理中断言的使用

    Java异常处理中的断言是一种强大的调试工具,它允许程序员在代码中插入检查点,以确保程序的特定条件在运行时始终为真。断言的概念基于一个假设:在编写代码时,我们对某些条件有一定的信心,认为它们在程序执行时...

    SCJP 310-055 题库4 异常和断言

    SCJP 310-055 题库Module 4 异常和断言

    python:playwright 自动等待和断言(csdn)————程序.pdf

    python:playwright 自动等待和断言(csdn)————程序

    JAVA程序设计——异常和断言

    定义异常 使用try、catch 和 finally 语句 描述异常分类 识别普通异常 编写程序自己处理异常 使用断定 区分适当喝不适当的断定的使用 运行时屏蔽断定

    Swift视频教程:Swift基础,断言

    Swift视频教程:Swift基础,断言

    异常和断言

    java 异常和断言 let us believe it do you

    Python异常和错误实践手册 新手必备

    4. AssertionError:断言语句引发的异常 5. AttributeError:对象没有某个属性时引发的异常 6. BufferError:缓存 buffer 操作错误引发的异常 7. EOFError:文件结尾时引发的异常 8. ImportError:导入模块错误引发...

    静态断言(编译时断言)

    静态断言,也称为编译时断言,是编程中的一种技术,用于在编译阶段检查程序中的条件是否满足,确保代码的正确性。与运行时断言不同,静态断言的目标是在程序执行前就发现潜在的问题,提高代码质量和可靠性。这种技术...

    Python:通用异常类型表

    在Python编程语言中,异常处理是程序健壮性的重要组成部分。异常是程序运行时遇到的问题,它们可以打断正常的代码流程。Python提供了丰富的异常类型,这些异常被组织成一个层次结构,使得处理和捕获特定类型的错误...

    Java异常和断言PPT教案学习.pptx

    Java异常和断言PPT教案学习.pptx

    Java中常见的异常分析

    14. **断言错误:AssertionError** - 用于指示一个断言失败的情况,断言是一种测试工具,用于确认代码的假设是否正确。 15. **类循环依赖错误:ClassCircularityError** - 初始化类时,如果检测到类之间的循环依赖...

    .NET异常处理最佳实践

    14. **不确定时,抛出异常而非断言**:在发布版本中,`Debug.Assert`会被移除,因此在可能出错的地方抛出异常,而不是依赖断言检查。 遵循这些最佳实践,开发者可以编写出更健壮、易于维护的.NET代码,有效提升软件...

    python异常处理、自定义异常、断言原理与用法分析

    本文实例讲述了python异常处理、自定义异常、断言原理与用法。分享给大家供大家参考,具体如下: 什么是异常: 当程序遭遇某些非正常问题的时候就会抛出异常:比如int()只能处理能转化成int的对象,如果传入一个不...

Global site tag (gtag.js) - Google Analytics