Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
0322-erlang-module-doc-preciser-description-of-...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0322-erlang-module-doc-preciser-description-of-error-1-er.patch of Package erlang
From 7029ba1f6e42641cc35d3f129fbc45de1b78b95f Mon Sep 17 00:00:00 2001 From: Kjell Winblad <kjellwinblad@gmail.com> Date: Fri, 18 Sep 2020 11:22:24 +0200 Subject: [PATCH 22/39] erlang module doc: preciser description of error/1, error/2 and exit/1 * The functions does not stop the current process; they raise exceptions. * Specify what the functions are intended for --- erts/doc/src/erlang.xml | 73 ++++++++++++++++++++++++++++++----------- 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml index 0d4c46bd9c..7d44e622c4 100644 --- a/erts/doc/src/erlang.xml +++ b/erts/doc/src/erlang.xml @@ -1667,15 +1667,20 @@ b</pre> <func> <name name="error" arity="1" since=""/> - <fsummary>Stop execution with a specified reason.</fsummary> - <desc> - <p>Stops the execution of the calling process with the reason - <c><anno>Reason</anno></c>, where <c><anno>Reason</anno></c> - is any term. The exit reason is - <c>{<anno>Reason</anno>, Where}</c>, where <c>Where</c> - is a list of the functions most recently called (the current - function first). As evaluating this function causes - the process to terminate, it has no return value. Example:</p> + <fsummary>Raise exception of class error.</fsummary> + <desc> + <p>Raises exception of class <c>error</c> with the reason + <c><anno>Reason</anno></c>, where <c><anno>Reason</anno></c> + is any term. The exit reason is <c>{<anno>Reason</anno>, + Where}</c>, where <c>Where</c> is a list of the functions most + recently called (the current function first). As evaluating + this function causes an exception to be thrown, it has no + return value. The intent of the exception class <c>error</c> is to + signal that an unexpected error has happened (for example, a + function is called with a parameter that has an incorrect + type). See the guide about <seeguide + marker="system/reference_manual:errors">errors and error + handling</seeguide> for additional information. Example:</p> <pre> > <input>catch error(foobar).</input> {'EXIT',{foobar,[{shell,apply_fun,3, @@ -1693,8 +1698,8 @@ b</pre> <name name="error" arity="2" since=""/> <fsummary>Stop execution with a specified reason.</fsummary> <desc> - <p>Stops the execution of the calling process with the reason - <c><anno>Reason</anno></c>, where <c><anno>Reason</anno></c> + <p>Raises exception of class <c>error</c> with the reason + <c><anno>Reason</anno></c>, where <c><anno>Reason</anno></c> is any term. The exit reason is <c>{<anno>Reason</anno>, Where}</c>, where <c>Where</c> is a list of the functions most recently called (the current @@ -1702,19 +1707,49 @@ b</pre> list of arguments for the current function; in Beam it is used to provide the arguments for the current function in the term <c>Where</c>. As evaluating this function causes - the process to terminate, it has no return value.</p> + an exception to be thrown, it has no return value. + The intent of the exception class <c>error</c> is to + signal that an unexpected error has happened (for example, a + function is called with a parameter that has an incorrect + type). See the guide about <seeguide + marker="system/reference_manual:errors">errors and error + handling</seeguide> for additional information. Example:</p> + <p><c>test.erl</c>:</p> +<pre> +-module(test). +-export([example_fun/2]). + +example_fun(A1, A2) -> + erlang:error(my_error, [A1, A2]). +</pre> +<p>Erlang shell:</p> +<pre> +<input>6> c(test).</input> +{ok,test} +<input>7> test:example_fun(arg1,"this is the second argument").</input> +** exception error: my_error + in function test:example_fun/2 + called as test:example_fun(arg1,"this is the second argument") + </pre> </desc> </func> <func> <name name="exit" arity="1" since=""/> - <fsummary>Stop execution with a specified reason.</fsummary> - <desc> - <p>Stops the execution of the calling process with exit reason - <c><anno>Reason</anno></c>, where <c><anno>Reason</anno></c> - is any term. As - evaluating this function causes the process to terminate, it - has no return value. Example:</p> + <fsummary>Raise exception of class <c>exit</c> with a specified reason.</fsummary> + <desc> + <p>Raises exception of class <c>exit</c> with exit reason + <c><anno>Reason</anno></c>, where <c><anno>Reason</anno></c> + is any term. As evaluating this function causes an exception + to be thrown, it has no return value. This function should be + used when the intent is to stop the current process. This + function differ from <c>erlang:error/1</c> and + <c>erlang:error/2</c> by causing an exception of a different + class and by having an exit reason that does + not include the list of functions from the call stack. See the + guide about <seeguide + marker="system/reference_manual:errors">errors and error + handling</seeguide> for additional information. Example:</p> <pre> > <input>exit(foobar).</input> ** exception exit: foobar -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor