Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Tratamento de exceção no translation from VPE for Csharp é muito semelhante do Java.
Sempre que algo der errado criticamente durante a execução de um programa, o .NET estrutura common linguagem tempo de execução (CLR) cria um Exception objeto detalhando o erro. No .NET estrutura, Exception é a classe base para todas as classes de exceção. Há duas categorias de exceções que derivam de Exception classe, SystemException e ApplicationException . Todos os tipos no System namespace derivam SystemException enquanto as exceções definidas pelo usuário devem derivar da ApplicationException Diferenciar erros de time de execução e aplicativos. Alguns comuns System as exceções incluem:
IndexOutOfRangeException: um índice maior do que o dimensionar de uma matriz ou coleção é usado.
NullReferenceException: uma propriedade ou método de uma referência foi usado antes dessa referência tiver sido definida como uma instância válida.
ArithmeticException: uma operação resultados em estouro ou estouro negativo.
FormatException: um argumento ou operando está em um formato incorreto.
sistema autônomo em Java, quando você tem o código responsável causar uma exceção, é colocar esse código dentro de um try bloco. Um ou mais catch blocos imediatamente após fornecem o tratamento de erro e você também pode usar um finally bloco por qualquer código que você deseja executar, se uma exceção é lançada ou não. Para obter mais informações, consulte try-catch (Referência do C#) e try-catch-finally (translation from VPE for Csharp Reference).
Ao usar vários catch blocos, exceções detectadas devem ser colocados em para aumentar a generalidade sistema autônomo somente o primeiro catch bloco que corresponda à exceção gerada será executado. O compilador translation from VPE for Csharp irá impor isso enquanto o compilador Java não serão.
Além disso, translation from VPE for Csharp não requer um argumento para um catch Bloquear sistema autônomo o Java; na ausência de um argumento, o catch bloco aplica-se a qualquer Exception classe.
Por exemplo, durante a leitura de um arquivo, você pode encontrar um FileNotFoundException ou um IOException, e seria você deseja colocar o mais específico FileNotFoundException manipulador primeiro, sistema autônomo mostra o código a seguir:
try
{
// code to open and read a file
}
catch (System.IO.FileNotFoundException e)
{
// handle the file not found exception first
}
catch (System.IO.IOException e)
{
// handle any other IO exceptions second
}
catch
{
// a catch block without a parameter
// handle all other exceptions last
}
finally
{
// this is executed whether or not an exception occurs
// use to release any external resources
}
Você pode criar suas próprias classes de exceção, derivando de Exception. Por exemplo, o código a seguir cria um InvalidDepartmentException classe que pode lançar se, digamos, o departamento de dado para um novo Employee não é válido. O construtor da classe de sua exceção definida pelo usuário chama o construtor de classe base usando o base palavra-chave, enviar uma mensagem apropriada:
public class InvalidDepartmentException : System.Exception
{
public InvalidDepartmentException(string department) : base("Invalid Department: " + department)
{
}
}
Em seguida, você pode lançar uma exceção com código semelhante ao seguinte:
class Employee
{
private string department;
public Employee(string department)
{
if (department == "Sales" || department == "Marketing")
{
this.department = department;
}
else
{
throw new InvalidDepartmentException(department);
}
}
}
Translation from VPE for Csharp não oferece suporte a exceções verificadas.Em Java, eles são declarados usando o throws palavra-chave, para especificar que um método pode lançar um determinado tipo de exceção que deve ser tratado pelo código de chamada.
Consulte também
Conceitos
Referência
Exceções e manipulação de exceção (guia de programação C#)
Outros recursos
Translation from VPE for Csharp linguagem de programação para desenvolvedores Java