оберните создание CloudStorageAccount в блок try: catch - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть следующая консольная программа C:

namespace AS2_Folder_Monitor
{
    class Program
    {
        private static CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
            CloudConfigurationManager.GetSetting("StorageConnectionString")); //points to the azure storage account

В случае возникновения проблемы со строкой подключения или связанной с Azure проблемой, я хотел бы попробовать / заблокировать здесь.

Очевидно, что вы не можете вставить попытку в верхнюю часть такого класса. Итак, как я могу обрабатывать ошибки?

Кажется, я тоже не могу переместить учетную запись хранения в Main. Когда я пытаюсь это сделать, я получаю "} ожидаемый"

enter image description here

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Вместо того, чтобы помещать метод Parse в раздел try-catch для обработки проблем со строкой соединения, взгляните на статический метод TryParse класса CloudStorageAccount. Он укажет, может ли строка соединения быть проанализирована или нет.

Реализуйте это так

If(CloudStorageAccount.TryParse(CloudConfigurationManager.GetSetting("StorageConnectionString"), out storageAccount))
{
     //use the storageAccount here
}
0 голосов
/ 03 сентября 2018

Ошибка появляется, потому что термин private или static нельзя использовать внутри метода.

Таким образом, вы можете объявить свой CloudStorageAccount объект внутри try-catch следующим образом:

static void Main(string[] args)
{
    try
    {
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
    }
    catch (Exception)
    {                
        throw;
    }
}

Другим подходом может быть объявление вашего объекта вне Main и его создание в try

private static CloudStorageAccount storageAccount;
static void Main(string[] args)
{
    try
    {
        storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
    }
    catch (Exception)
    {                
        throw;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...