내 사용자 지정 오차드 모듈에서 나는 로그인 중에 사용자 지정 FtpException을 throw하는 컨트롤러 동작 내에서 일부 ftp 클라이언트 코드를 작성했습니다. try-catch에서 로그인 코드를 래핑했습니다. 오류가있는 경우 알림 메시지를 다시보기로 보냅니다. 문제는 여전히 오류가 발생하고 표준 "죄송합니다. 오류가 발생했습니다. 죄송합니다"오차드 오류 메시지입니다. 나는 오차드 로그에 보면처리 된 과수원 예외 여전히 버블 링
try
{
ftpClient.Login();
ftpClient.Upload(fileName);
}
catch (FtpException ex)
{
services.Notifier.Error(T("There was an error sending the file - {0}.", ex.Message));
return RedirectToAction("Edit", "Project");
}
finally
{
ftpClient.Close();
}
services.Notifier.Information(T("File uploaded successfully."));
return RedirectToAction("Edit", "Project");
가, 내가 FTP 예외가 ftpClient.Login()
내에서 발생되는 것을 볼 : 여기 포장하고 코드입니다. catch 블록의 코드가 실행되므로 예외가 처리되었음을 알 수 있습니다. 문제는 처리되지 않은 예외 동작이 여전히 오차드에 의해 표시되고 있다는 것입니다. RedirectToAction이 실행되도록 예외가 멈추게하려면 어떻게해야합니까? 주석에서 설명하고있는 바와 같이
확실히 FtpException (또는 파생 된 유형)이 예외를 throw합니까? – mdm
하지만 catch 블록을 catch로 변경했습니다. System.Exception - 결과가 동일했습니다. – levelnis
좋습니다. 예외가 호출되었을 때 어떤 일이 발생했는지 보려면 단계별 시도를 했습니까? 예외가 ftpClient.Login에 의해 throw되고, catch에 의해 catch되고, * another * 예외가 마지막으로 닫힌 ftpClient를 닫으려고 시도하여 생성 될 수 있습니까? – mdm