コードで以前にスローした後に例外をキャッチするメカニズムを追加しようとしていますが、コンパイルできません:
例外処理なしのコードは次のとおりです-コンパイルしてうまく機能します:
fun calc(input : string ) : int =
let
val outStr = ref "someString"
val outInt = ref 0
in
(
outStr := replaceRomanDec(input); (* replace roman number with decimal *)
outInt := calcMyRomanExpression(!outStr)
);
(!outInt)
end;
handle
しかし、ここにandを入れようとするとexception
:
fun calc(input : string ) : int =
exception CalculatorParser
let
val outStr = ref "someString"
val outInt = ref 0
in
(
outStr := replaceRomanDec(input); (* replace roman number with decimal *)
outInt := calcMyRomanExpression(!outStr);
handle CalculatorParser => -1
);
(!outInt)
end;
私は得る:
stdIn:1761.2-1761.28 Error: syntax error: deleting EXCEPTION ID
- );
=
= (!outInt)
=
=
=
= end;
stdIn:1576.1-1757.2 Error: syntax error: deleting RPAREN SEMICOLON
-
エラーで提案されているようにセミコロンを追加/削除しようとしましたが、何も機能しませんでした。
何が問題なのですか?
敬具