43 USER DEFINED EXCEPTIONS exception BadN; exception BadN exception BadM; exception BadM fun comb ( n, m ) = if n < 0 then raise BadN else if m < 0 orelse m > n then raise BadM else if m = 0 orelse m = n then 1 else comb ( n - 1, m ) + comb ( n - 1, m - 1 ); val comb = fn : int * int -> int comb ( 5, 2 ); val it = 10 : int comb ( ~1, 0 ); uncaught exception BadN comb ( 5, 6 ); uncaught exception BadM