Re[7]: Checked exceptions... зло или добро?
От: Cyberax Марс  
Дата: 18.07.05 04:35
Оценка: 9 (2) +2 -1
eao197 wrote:

> Видишь ли, в Java большое количество try/catch может объясняться

> наличием спецификации исключений у методов -- задал кто-то в публичном
> интерфейсе спецификацию исключений от балды и все -- в реализациях
> этих методов нужно ставить try/catch для того, чтобы перехватывать
> исключения, не удовлетворяющие спецификации и транслировать их в
> какое-то специфицированное исключение. В C++ и, как я понимаю, в C#
> такой проблемы нет

Явная спецификация исключений — это, ИМХО, большой плюс. Ее бы еще до
ума довести, например так:
void method1() throws Exception1 {...};
void method2() throws Exception2 wraps Exception1 {method1();}

То есть добавить еще и декларативную спецификацию оборачивания
исключений, ну и доработать try..catch для этого.

Только представьте:
struct SomeStruct
{
    SomeStruct(const SomeStruct &other) throw(blah_blah_exception) {};
};

struct container
{
    void swap(...) throw(std::bad_alloc, std::runtime_error wraps *) {};
}

И потом контролировать это все на этапе компиляции.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.