В общем, подискутировав немного на тему Exception'ов -- мое любопытство к теме только увеличилось. К сожалению темы быстро перерождаются во флейм, участники быстро перестают слушать друг-друга.
По этому я решил подойти к вопросу с практической точки зрения:
поменьше слов, побольше кода.
И придумал вот такой максимально простой тест (буквально 7 строчек кода внутри функции) для выявления человека, который действительно лучше всех умеет работать с исключениями. Не на словах а на деле. Вот сам код:
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите имя счетчика и нажмите ENTER:");
string fileName = Console.ReadLine();
// Если файла не существует -- нужно создать.
// Может не быть доступа к файлу
// Имя счетчика может быть некорректным -- с этим что-то нужно сделать
string text = File.ReadAllText(fileName);
int count = int.Parse(text);
Console.WriteLine("Значение счетчика: ", count);
count++;
// Может быть запрещена запись в файл
File.WriteAllText(fileName, count.ToString());
}
}
}
После запуска программы пользователь должен ввести название счетчика. Программа должна получить текущий номер из файла счетчика, отобразить его пользователю и записать в файл инкремент. Оставить в виде консольного приложения для упрощения и наглядности.
Программа должна быть не демо, а реальной. Т.е. считайте что вы пишите реальный проект, которым будут пользоваться тысячи людей. Все должно быть реальным, без всяких упрощений. Единственное что можно упростить для наглядности -- работу с ресурсами -- т.к. файл ресурсов не очень читабелен -- можно заменить его на класс C# с публичными полями.
Язык интерфейса можно использовать либо русский либо английский. Сообщения должны быть 2-х уровней: 1 для неопытного пользователя и 1 для продвинутого пользователя (т.е. детали).
Оценивать работы можно здесь:
http://rsdn.ru/poll/2663.aspxАвтор: Shmj
Дата: 17.08.10
Вопрос: Детали http://rsdn.ru/forum/dotnet/3922345.flat.aspx
А в голосовании указывайте
ник и рядом номер версии. Подавать заявки можно несколько раз (разные версии). Результаты голосования будут доступны 1 сентября.
Победитель получает общественное признание и оценку "супер" всех участников конкурса.
PS
Прошу заметить, что это ни какой-нибудь бессмысленный этюд. Эта задача максимально приближена к реальной жизненной потребности.