Exception handling
ANtlord via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jul 14 12:36:35 PDT 2017
Hello! I've tried to use nothrow keyword and I couldn't get a
state of function satisfied the keyword. I have one more method
that can throw an exception; it is called inside nothrow method.
Every type of an exception from the throwable method is handled
by the nothow method.
ubyte throwable_fn(ubyte state) {
if(state < 2) {
return 1;
} else if(state == 3) {
throw new MyException1("qwe");
} else {
throw new MyException2("asd");
}
}
void nothrowable_fn() nothrow {
try {
auto val = throwable_fn(3);
// do success staff
} catch(MyException1 e) {
// handle error 1
} catch(MyException2 e) {
// handle error 2
}
}
I can't compile this. I get an error says nothrowable_fn function
can't be nothrow. I get the message until I handle Exception
class. But it is not appropriate for me because I can get another
exception of another type. I mean case when code will be updated
and new exceptions will come with a new piece of code.
How can I achieve nothrow statement without catching of an
instance of Exception class? Thanks. Sorry if my English is not
clear.
More information about the Digitalmars-d-learn
mailing list