我有2種方法,用不同的參數:2方法與不同的參數和例外
await ocr.GetTextAsync(dataStream, filename, language);
和
await ocr.GetTextAsync(fileUrl, language);
這兩種方法都可以返回例外的相同的列表。因此,如下所示的塊:
try
{
ocrResult = await ocr.GetTextAsync(dataStream, filename, language);
}
catch (FailedToProcessException failedEx)
{
_logger.AddLog("OCRController->GetTextAsync", $"Failed to process exception: '{failedEx.ErrorMessage}'", LogLevel.ERROR);
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, failedEx.ErrorMessage);
}
catch(InternalServerErrorException intEx)
{
_logger.AddLog("OCRController->GetTextAsync", $"Internal server error exception: '{intEx.ErrorMessage}'", LogLevel.ERROR);
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, intEx.ErrorMessage);
}
catch (Exception e)
{
_logger.AddLog("OCRController->GetTextAsync", $"Exception: '{e.Message}'", LogLevel.ERROR);
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "File can't be processed");
}
與此類似。但我不想「複製/粘貼」部分代碼。我怎麼把它包在一個地方?