This reminds me of jquery. This is how we submit (POST) data to a given URL:
function fail() { ... };
function done() { ... };
var data = { text: '123' }
$.post(url, data).fail(fail).done(done);
What you suggested isn't much different than this. The problem of your approach is that the "try" block isn't a block, but a function call that takes a table. People must understand this concept first, otherwise they will be completely lost (I am not sure if they would be lost if they face the first example instead). But both solutions are fine to me as long as they are well documented (well, I slightly prefer the first piece of code though). People will have to read about this no matter what. Even though your suggestion has less concepts and keywords, chances are that people will recognize the first example from other languages they saw in the past. It is a trade off.