Exception Handling in CPP |
|
|
Conceito de Handling Exception
|
O conceito da manipulação de exceção é muito simples. A idéia básica é simplesmente levantar uma bandeira do erro quando algo vai erradamente. Em seguida, há um sistema que sempre lookout para estes bandeira do erro. finalmente, o sistema precedente chama um código da manipulação de erro se uma bandeira do erro for manchada.
|
Program Flow
levanta uma bandeira imaginária do erro é chamado jogar acima de um erro. Quando o erro é jogado o sistema total responderá travando um erro. Cercando o bloco do código erro-sensível com uma manipulação de exceção é chamado tentar executar o bloco do código.
|
As características as mais poderosas da manipulação de exceção são, um erro podem ser jogadas sobre os limites da função. Significa que se um do as funções as mais profundas em uma pilha tiver o erro, esta pode ser propagação a uma função superior se houver tent-obstruir de um código lá. Isto permitirá que os programadores ponham um código da manipulação de erro em um lugar, como a principal-função do programa.
|
C++ exception handling
|
Desenhadores da língua de programação de C++, estendidos a língua com as estruturas da manipulação de exceção. Os comandos que são usados relacionam-se pròxima aos termos usados na manipulação de exceção (como descrito acima). Bloco do código que você quer tentar para fora começos especificando um comando da “tentativa” e cercando um bloco com as cintas curly. Dentro deste bloco, é permitido você jogar os erros ocorrendo com um comando do “throw”. Você deve especificar o erro e esta deve ser uma classe. Depois que tent-obstruir é fechado, trav-obstruem começará. Isto é ilustrado no código abaixo.
|
try
{
...
...
throw Exception()
...
...
}
catch( Exception e )
{
...
...
}
|
|
Aqui a exceção é a classe definida com o construtor com nenhuns parâmetros passado. Será útil ter o info em que tipo de erro ocorreu. Isto pode ser feito por dois métodos. Qualquer um pode definir as exceção-classes diferentes e então jogá-las de acordo com o erro ocorrido. Ou pode dar um parâmetro de classe conter a mensagem de erro e permitir que uma classe indique a mensagem.
|
Exception Handling System
|
Uma classe que nós estejamos a ponto de projetar deve ter que armazenar a informação sobre um erro que ocorra e uma classe deve indica a mensagem de erro. O código seguindo mostra esta funcionalidade.
|
class CException
{
public:
char* message;
CException( char* m )
{
message = m
};
Report();
}
|
|
Keywords Exception Handling, exception source, exception errors, exception table, exception package,
database handling, exception xml, string exception, exception message, exception catching,
exception net, exception error, thread handling, client handling, try exception,
exception handler, exception finally, error handling, thread exception, xml handling,
exception form, function exception, string handling, exception vb, exception code,
exception object, form handling, exception raise, session handling, exception example,
message handling
|