C#을 사용하여 간단한 콘솔 응용 프로그램을 만들었습니다. 클래스의 인스턴스를 생성하고 클래스의 메소드 중 하나를 호출합니다. 이 메서드에는 try-catch 블록이 포함되어 System.Net.WebException 형식의 예외를 catch하고 주 메서드가 catch하고 적절히 작동 할 수 있도록 다시 throw합니다. 컴파일 된 응용 프로그램을 실행할 때 예외가 주 클래스로 전달되지 않고 사용자가 내 사용자 지정 오류 메시지를 볼 수 없습니다..NET 예외가 클래스에서 주 프로그램으로 전달되지 않습니다.
alt text http://img29.imageshack.us/img29/4581/crapq.png
이 내 클래스라는 이름의 BuffaloRouter 내부의 방법 : 대신이 화면 처리되지 않은 WebException이을 (그것은 독일어의하지만 어쨌든 인식 될 수 있다고 생각 ;-))가 있다고 말해 팝업
public void Login()
{
string sUrl = _sUrl + "/somestuff.htm";
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(sUrl);
CredentialCache credCache = new CredentialCache();
credCache.Add(new Uri(sUrl), "Basic", _credential);
request.Credentials = credCache;
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
_sContent = reader.ReadToEnd();
response.Close();
receiveStream.Dispose();
reader.Dispose();
_parseSessionIds();
}
catch (WebException)
{
throw;
}
}
그리고 이것은 내 메인 클래스 내부의 방법입니다 :
이private static bool _login()
{
_router = new BuffaloRouter(_sIP, new System.Net.NetworkCredential("root", _sPassword));
try
{
Console.WriteLine("Login...");
_router.Login();
return true;
}
catch (System.Net.WebException)
{
_showErrorMessage("Could not connect to " + _sIP);
return false;
}
}
가 UPDATE : 내가 더 기분이 보다 조금 당황스럽고 오히려 그것에 대해 말하지 않을 것입니다. 하지만 몇 시간 전에 내가 뭘하는지에 의존하지 않았다 ;-) 앱을 실행할 때 메인 클래스 내부의 메소드가 호출되지 않았다. 호출 된 클래스에는 try-catch 블록이 없으므로 내 클래스의 메서드에서 throw 된 예외로 인해 응용 프로그램이 정상적으로 수행됩니다 (예 : CRASH !!). 나는 바보입니다. 영원히 시간을 낭비해서 죄송합니다.
를 받고. 번역을하면 더 빠르고 더 빨리 답변을 얻을 수 있습니다. – Aaronaught
대화 상자는 기본적으로 응용 프로그램이 더 이상 작동하지 않으며 온라인에서 솔루션을 찾거나 응용 프로그램을 닫거나 디버깅 할 수있는 옵션을 제공합니다. – bitfrickler
내 게시물이 업데이트되었습니다. – bitfrickler