Ary Borenszweig:

But if a type checker deduces a function foo throws exception A, and in function bar you call foo: are you forced to handle the exception? If not, do you have to tell the compiler that you don't want to handle that exception? Isn't that the same as what Java does?

Let's keep playing :-)

- I think if you don't want to handle the exception, you don't handle the exception, and the type system assumes you will handle the exception at a higher level. - In every point of the program you can also ask to the type system (like through the IDE) what are the current exceptions that can happen there. - If you don't handle exceptions in the main, your program will throw them. If you annotate a function with nothrow then the type system forces you to handle all the possible exceptions of that function inside the function.

Bye,
bearophile

Reply via email to