2015年1月23日金曜日

開発環境

コンピュータプログラミングの概念・技法・モデル(IT Architect' Archiveクラシックモダン・コンピューティング6) (IT Architects’Archive CLASSIC MODER)(セイフ・ハリディ (著)、ピーター・ヴァン・ロイ (著)、Peter Van-Roy (著)、 Seif Haridi (著)、羽永 洋 (翻訳) 、翔泳社、原書: Concepts, Techniques, and Models of Computer Programming(CTM))の第部(一般的計算モデル)、第2章(宣言的計算モデル)、2.9(練習問題)、12.(finally節を持つ例外)を解いてみる。

12.(finally節を持つ例外)

コード(Emacs)

% 翻訳
% local B in
%    try
%       <s>1
%       B=true
%       raise 1 end
%    catch X then
%       <s>2
%       if B \= true then
%          raise X end
%       end
%    end
% end
% 試してみる
% 例外なし
local B in
   try
      {Browse 1}
      B=true
      raise 1 end
   catch X then
      {Browse 2}
      if B \= true then
         raise X end
      end
   end
end
{Browse '-----'}
% 例外発生
local B in
   try
      {Browse 1/0}
      B=true
      raise 1 end
   catch X then
      {Browse 2}
      if B \= true then
         raise X end
      end         
   end
end
% 例外発生後なので、実行は停止しているので次の呼び出しは実行されない
{Browse 'End'}

0 コメント:

コメントを投稿