- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
try
{
client.SendData(xml);
}
catch(Exception e)
{
string s = e.ToString();
if(s.Substring(0,80)=="System.InvalidOperationException: Operation not allowed on non-connected sockets")
{
client.tcpclient.Close();
clients.Remove(client.SessionId);
}
else if (s.Substring(0,71)=="System.IO.IOException: Unable to write data to the transport connection")
{
client.tcpclient.Close();
clients.Remove(client.SessionId);
}
else
{
client.tcpclient.Close();
clients.Remove(client.SessionId);
}
}
scalar4eblo4no 15.03.2011 16:36 # 0
absolut 15.03.2011 16:43 # +3
piocsic 15.03.2011 17:30 # +2
Eugene 15.03.2011 18:35 # +1
Lure Of Chaos 15.03.2011 19:05 # 0
abatishchev 15.03.2011 20:00 # +1
burdakovd 15.03.2011 20:08 # 0
Например: http://jna.java.net/javadoc/platform/com/sun/jna/platform/win32/Win32Exception.html
abatishchev 15.03.2011 23:54 # 0
а то что это ява - так это просто подарок
бальзам для души
burdakovd 15.03.2011 23:59 # 0
И лучшее, что может сделать библиотека, предоставляющая доступ к WinAPI - это выбрасывать исключение типа Win32Exception в случае ненулевого кода ошибки.
abatishchev 16.03.2011 00:08 # 0
единтсвенная альтернатива - не показывать код ошибки вообще
но это тотальный рак мозга
abatishchev 16.03.2011 00:00 # 0
public int NativeErrorCode { get; }
http://msdn.microsoft.com/en-us/library/system.componentmodel.win32exception.nat iveerrorcode.aspx
т.е. это наследвенная травма
но если спросить МС - почему так?
public int Number { get; }
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlexception.numbe r.aspx
они тоже скорее всего скажут про наследственность от SQL Server 1.0
и, конечно же, где-то внутри ADO.NET есть хелпер, который делает p/invoke к нативной скуль либе и получает аж локализованное сообщение об ошибке
Анонимус 16.03.2011 01:03 # 0
Анонимус 15.03.2011 20:46 # +1
точно прийдут
вот увидите
Lure Of Chaos 15.03.2011 21:20 # 0
Анонимус 15.03.2011 21:58 # 0
Lure Of Chaos 15.03.2011 22:12 # 0
burdakovd 15.03.2011 23:57 # 0
> такая хрень в стандартной упаковке
Пример не приведёте?
abatishchev 16.03.2011 00:04 # +1
Анонимус 16.03.2011 01:04 # 0
блох нервничает
abatishchev 16.03.2011 00:02 # 0
мораль: так никогда не делать, даже если оборачиваешься вокруг натив либы, лучше наштамповать 100500 классов
ибо теория гласит, что модель исключений в первую очередь горизонтальна
abatishchev 15.03.2011 19:59 # +1