Compartilhar via


Como a: ficar exceções

Você local as seções de codificar que pode lançar exceções em um codificar tente bloco e local que lida com exceções em um bloco capturar. A ordem das instruções capturar é importante. Quando ocorre uma exceção, ele é passado a pilha e cada bloco catch é terá a oportunidade para identificador-lo. O bloco capturar que deve identificador a exceção é determinada pelo compatível o tipo da exceção para o nome da exceção especificada no bloco de capturar. De exemplo, a seguinte captura bloco catch protocolo SOAP (SOAP) exceções:

catch (SoapException e)
{
    Console.WriteLine("SOAP Exception Error Code: {0}", 
        e.SubCode.Code.Name);
    Console.WriteLine("SOAP Exception Message is: {0}", 
        e.Message);
}

Se nenhuma bloco catch Type-specific existir, a exceção é capturada por um bloco capturar gerais, se houver. De exemplo, você pode capturar exceções geral adicionando o seguinte codificar:

catch (Exception e)
{
    Console.WriteLine("Exception Message: {0}", e.Message);
}

Você bloqueia capturar local de destino a tipos específicos de exceções antes uma exceção geral.

O Common Language Runtime captura exceções que não são detectadas por um bloco capturar. Dependendo de como a tempo de execução estiver configurada, qualquer uma caixa diálogo depuração for exibida, ou o programa pára a execução e uma caixa diálogo com informações exceção aparece. Para obter informações sobre depuração, consulte Depuração e perfil aplicativos (https://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondebuggingprofiling.asp).

Práticas recomendadas para tratamento de exceções Para obter mais informações sobre como identificador exceções, consulte (https://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconbestpracticesforhandlingexceptions.asp).

Exemplo

using System;
using System.Text;
using System.Web.Services.Protocols;
using ExcelWebService.myserver02;
namespace ExcelWebService
{
    class WebService
    {
        [STAThread]
        static void Main(string[] args)
        {
            // Instantiate the Web service and make a status array object
            ExcelService xlservice = new ExcelService();
            Status[] outStatus;
            RangeCoordinates rangeCoordinates = new RangeCoordinates();
            string sheetName = "Sheet1";

            // Set the path to the workbook to open.
            // TODO: Change the path to the workbook
            // to point to a workbook you have access to.
            // The workbook must be in a trusted location.
            // If workbookPath is a UNC path, the application 
            // must be on the same computer as the server.
            // string targetWorkbookPath = 
            // @"\\MyServer\myxlfiles\Formulas.xlsx";
            string targetWorkbookPath = 
            "http://myserver02/DocLib/Shared%20Documents/Basic1.xlsx";
            // Set credentials for requests
            xlservice.Credentials = 
               System.Net.CredentialCache.DefaultCredentials;

            try
            {
                // Call the OpenWorkbook method and point to the 
                // trusted location of the workbook to open.
                string sessionId = xlservice.OpenWorkbook(targetWorkbookPath, "en-US", "en-US", out outStatus);
                Console.WriteLine("sessionID : {0}", sessionId);
                // Prepare object to define range coordinates, 
                // and call the GetRange method.
                rangeCoordinates.Column = 0;
                rangeCoordinates.Row = 0;
                rangeCoordinates.Height = 18;
                rangeCoordinates.Width = 10;

                object[] rangeResult1 = xlservice.GetRange(sessionId, sheetName, rangeCoordinates, false, out outStatus);
                Console.WriteLine("Total rows in range: " + rangeResult1.Length);

                Console.WriteLine("Sum in last column is: " + ((object[])rangeResult1[2])[3]);

               // Close the workbook. This also closes the session.
                xlservice.CloseWorkbook(sessionId);
            }
            catch (SoapException e)
            {
                Console.WriteLine("SOAP Exception Error Code: {0}", 
                    e.SubCode.Code.Name);
                Console.WriteLine("SOAP Exception Message is: {0}", 
                    e.Message);
            }

            catch (Exception e)
            {
                Console.WriteLine("Exception Message: {0}", e.Message);
            }
            Console.ReadLine();
        }
    }
}

Consulte também

Outros recursos

Acessando o SOAP API
Alertas de Serviços Excel
Configuração de Serviços Excel Questões e dicas
SOAP Loop-Back chama e direta vinculação
Walkthrough: desenvolvendo um aplicativo personalizado usando os serviços da Web Excel
How to: Capture Status Return Values
Como a: um local relação de confiança
Como a: relação de confiança locais de pasta de trabalho com scripts
Como a: Salvar a partir de cliente Excel para o servidor
Como: usar a propriedade SubCode para captura códigos de erro