mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 07:12:25 +01:00
Update wikipage Managing CTRL+C on console. (Signed-off-by:tioui).
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1991 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -5,18 +5,35 @@
|
|||||||
Normally, if the user use the CTRL+C keys, the Eiffel application detect it as an error and throw an exception of type <code>{OPERATING_SYSTEM_SIGNAL_FAILURE}</code>. To manage the CTRL+C keys, you can use a <code>rescue</code> clause to detect the exception and a <code>retry</code> mecanism to cancel the exception handeling done by the Eiffel runtime.
|
Normally, if the user use the CTRL+C keys, the Eiffel application detect it as an error and throw an exception of type <code>{OPERATING_SYSTEM_SIGNAL_FAILURE}</code>. To manage the CTRL+C keys, you can use a <code>rescue</code> clause to detect the exception and a <code>retry</code> mecanism to cancel the exception handeling done by the Eiffel runtime.
|
||||||
|
|
||||||
<code>
|
<code>
|
||||||
|
note
|
||||||
|
description: "Show hot to quit an application using CTRL+C (without trace)."
|
||||||
|
autheur: "Louis Marchand"
|
||||||
|
date: "Wed, 25 Apr 2018 23:12:33 +0000"
|
||||||
|
revision: "0.1"
|
||||||
|
|
||||||
|
class
|
||||||
|
APPLICATION
|
||||||
|
|
||||||
|
inherit
|
||||||
|
EXCEPTIONS
|
||||||
|
|
||||||
|
create
|
||||||
make
|
make
|
||||||
-- Running `Current'.
|
|
||||||
|
feature {NONE} -- Initialisation
|
||||||
|
|
||||||
|
make
|
||||||
|
-- Exécute l'application.
|
||||||
local
|
local
|
||||||
l_ctrl_c:BOOLEAN
|
l_ctrl_c:BOOLEAN
|
||||||
do
|
do
|
||||||
if not l_ctrl_c then
|
if not l_ctrl_c then
|
||||||
from until False loop
|
from until False loop
|
||||||
io.standard_default.put_string ("Press CTRL+C%N")
|
io.standard_default.put_string ("Appuyez sur CTRL+C%N")
|
||||||
io.input.read_line
|
io.input.read_line
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
io.standard_default.put_string ("%NClosing...%N")
|
io.standard_default.put_string ("%NFermeture...%N")
|
||||||
end
|
end
|
||||||
rescue
|
rescue
|
||||||
if attached {OPERATING_SYSTEM_SIGNAL_FAILURE} Exception_manager.last_exception then
|
if attached {OPERATING_SYSTEM_SIGNAL_FAILURE} Exception_manager.last_exception then
|
||||||
@@ -24,4 +41,6 @@ Normally, if the user use the CTRL+C keys, the Eiffel application detect it as a
|
|||||||
retry
|
retry
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
end
|
||||||
</code>
|
</code>
|
||||||
Reference in New Issue
Block a user