首页 > 其他分享 >Eralng 学习笔记第五天, 异常,宏,头文件,预处理器,模式匹配

Eralng 学习笔记第五天, 异常,宏,头文件,预处理器,模式匹配

时间:2024-02-05 13:57:14浏览次数:30  
标签:... 头文件 divide safe Eralng try Erlang 异常 模式匹配

Erlang 异常

在Erlang中,有3种例外类型-

  • Error−调用将终止当前进程的执行,并在捕获到最后一个函数及其参数时包含堆栈跟踪。这些是引发上述运行时错误的异常。erlang:error(Reason)

  • Exists −有两种Exists : 内部退出和外部退出。内部退出通过调用函数 exit/1来触发,并使当前进程停止执行。外部出口在 exit/2中被调用,并且与 Erlang 的并发方面中的多个进程有关。

  • Throw −throw是一类异常,用于程序员可以处理的情况。与退出和错误相比,它们并没有带来任何“崩溃过程!”他们背后的意图,而是他们控制的流量。当您在期望程序员处理抛出时使用抛出,通常最好在使用它们的模块中记录它们的使用。

在 Erlang 中,异常处理通常使用 try ... catch ... end 结构。这种结构允许你尝试执行一些可能会导致异常的代码,并在出现异常时执行相应的处理逻辑。

下面是一个简单的示例,演示了如何使用 try ... catch ... end 处理异常:实例

-module(exception_demo).
-export([safe_divide/2]).

 

safe_divide(_, 0) ->
  throw(zero_division_error);
safe_divide(X, Y) ->
  X / Y.

demo() ->
  try
    Result = safe_divide(10, 2),
    io:format("Result: ~p~n", [Result])
  catch
    zero_division_error ->
      io:format("Error: Division by zero!~n")
  end.

Erlang 宏

Erlang 头文件

Erlang 预处理器

Erlang 模式匹配  

标签:...,头文件,divide,safe,Eralng,try,Erlang,异常,模式匹配
From: https://www.cnblogs.com/dw166/p/18007817

相关文章

  • 关于头文件的使用
    关于头文件的使用这里写一下这个东西,毕竟我在使用的时候还是有不少的疑问一、头文件头文件就是在写C++代码的时候,在最开头几行引用的文件,这里比如说:#include<iostream>我们就是引用了一个名称为iostream的头文件这里这个文件为什么没有后缀名呢,这我就不是很清楚了,据......
  • C++之INI配置文件读写/注释库 inicpp 介绍【简单易用-包含inicpp.hpp头文件即可】
    一个头文件(header-file-only)搞定INI文件读写、甚至进行注释。跨平台,并且用法极其简单。MITlicense,从此配置INI文件就像喝水。【注:对您有帮助的话,Star或Issues为项目维护提供动力,感谢。】-byofficalofJN-inicppproject.一、库下载https://github.com/dujingning/inicpp......
  • 无涯教程-Scala - 模式匹配
    在函数值和闭包之后,模式匹配是Scala第二广泛使用的函数,Scala在处理消息时为模式匹配提供了强大的支持。Pattern-示例objectDemo{defmain(args:Array[String]){println(matchTest(3))}defmatchTest(x:Int):String=xmatch{case1=>......
  • C# Switch 语句进阶:模式匹配详解与实例演示
     在C#中,switch语句的模式匹配在C#7.0及以上版本中引入。以下是switch语句中常见的模式及其使用方法的示例:1.类型模式:优点: 用于检查对象的运行时类型,使代码更具可读性。publicstaticstringGetObjectType(objectobj){switch(obj){caseinti:......
  • 学习笔记——KMP模式匹配
    KMP模式匹配KMP算法能够在线性时间内判定字符串\(A\left[1\simN\right]\)是否是字符串\(B\left[1\simM\right]\)的字串,并求出字符串\(A\)在字符串\(B\)中各次出现的位置。详细来讲,KMP算法分为两步。对字符串\(A\)进行自我匹配求出一个数组\(next\),\(next\lef......
  • stdarg.h头文件中va_arg的使用(关于类型获取)
    简介:此博客用于简单分析va_arg函数完成特定类型获取后指针移动的问题(针对int型参数i= -2,147,483,648获取后,指针偏移发生的错误)。 我在使用stdarg.h头文件模拟实现printf函数时遇见这样的情况:使用va_arg对函数可变参数进行特定类型获取后,va_arg函数再次读取时发生了关于......
  • 添加头文件在某一种模式(Debug/Release)下 提示不存在对应的 .h 文件
    在C++引用头文件中,如在Debug模式下进行编译,可能此时本地环境中没有对应的***_d.lib文件,只有***.lib,就会提示对应的错误信息。如C++中Debug模式下#include<Python.h>会提示链接错误信息无法打开文件“python311_d.lib”,此时可以将项目修改为Release模式,或在包含头文件......
  • 30_rust_模式匹配
    模式匹配模式:是rust中的一种特殊语法,用于匹配复杂和简单类型的结构。将模式与匹配表达式和其他结构结合使用,可更好控制程序控制流。模式由以下元素(及组合)组成:字面值解构的数组、enum、struct和tuple变量通配符占位符模式匹配的场景match的Arm(分支)格式:matchVALUE{......
  • URL绕过-后缀路径模式匹配设置错误绕过过滤器
    @ConfigurationpublicclassUrlMatchConfigextendsWebMvcConfigurationSupport{@OverridepublicvoidconfigurePathMatch(PathMatchConfigurerconfigurer){//setUseSuffixPatternMatch后缀模式匹配,如果设置为true,路径后面不管多少个//都能匹配......
  • UEC++头文件添加与函数查找方法
    1.官方函数查找与应用技巧在蓝图中插入函数(中文也可以),右键能看到库名;官网也能查找函数名和使用方法;C++中使用可以将蓝图转化2.UEC++头文件添加VS编译时缺失头文件会报错,ctrl单击调用的函数,进入.h文件中查看的地址,将地址classes后面的目录用#clucde放入如下图如果报错......