Experimente a captura no matlab

Experimente a captura no matlab
O artigo a seguir explica como usar a instrução Try-Catch no MATLAB®. A instrução Try-Catch é uma das linguagens de programação mais amplamente usadas em todo o mundo, e seu modo de execução é o mesmo para todos eles. Este artigo inclui exemplos e imagens práticas para ajudar o leitor a entender como usar esta declaração para lidar com erros na execução em tempo real.

Matlab Tente capturar sintaxe

tentar
declarações
Catch exceção
declarações
fim

Matlab Tente capturar descrições e exemplos

Uma declaração de tentativa é uma ferramenta que dá ao programa estabilidade e robustez contra exceções ou erros no tempo real de execução. Essas exceções ou erros podem ser capturados para que, quando um desses eventos ocorra, eles possam ser tratados de maneira previsível e ordenada e não afetam o desempenho do sistema.

A instrução Try-Catch consiste em dois blocos: Try é o bloco que envolve a parte do código que pode gerar uma exceção ou erro, e a captura é o bloco que lida com essas exceções a serem processadas com segurança. Quando uma tentativa pega uma exceção, ele passa o controle para capturar o processamento. Abaixo, examinaremos alguns exemplos práticos usando a declaração Try-Catch para entender melhor como funciona.

Como detectar e processar uma exceção ou erro com a instrução Try-Catch no MATLAB

Este exemplo mostra como usar a instrução Try-Catch contra um erro comum ao calcular raízes quadradas com a função RealSqrt (). Esta é uma das três funções básicas que o Matlab tem para esse tipo de operação matemática e aceita apenas números reais com um sinal positivo como argumentos de entrada. Se esta regra não estiver satisfeita, um erro será gerado.

Em seguida, vejamos detectar e lidar com esse erro criando um aplicativo de console que calcula raízes quadradas usando a função realsqrt (). Esta operação é realizada no bloco de tentativa. Quando ocorre um erro, o controle é passado para capturar para resolver o cálculo usando a função sqrt (), que aceita números negativos ou complexos.

Crie um script, cole este código e clique em Executar. Para fechar o aplicativo, pressione Ctrl+C

enquanto 1
prompt = 'insira um valor para obter sua raiz quadrada.';
a = entrada (prompt);
tentar
x = realsqrt (a);
pegar
Disp 'Tente encontrar um erro e passou o controle para capturar'
x = sqrt (a);
fim
disp (['A raiz quadrada é:', num2str (x)])
fim

Depois que o aplicativo está em funcionamento, inserimos os valores necessários para calcular a raiz quadrada.

Se os valores negativos ou complexos forem inseridos, em vez de levantar um erro na função RealSqrt (), ele passará o controle para capturar e a operação será resolvida com a função sqrt (). Quando isso acontece, a seguinte mensagem é exibida no console de comando:

“Tente encontrar um erro e passou o controle para capturar”

Como identificar erros com "mexception" e gerenciá -los com tentar pegar no matlab

Embora a identificação de exceções com "Mexception" mereça seu próprio artigo, explicaremos brevemente como usar esse recurso, o que nos ajuda a identificar erros e é um complemento eficaz ao usar a instrução Try-Catch. O MATLAB constrói um objeto "mexception" com informações sobre o erro quando um erro é gerado. Esta informação é muito útil, pois podemos usá -las para classificar e lidar com vários erros específicos. Abaixo, você pode ver o conteúdo de "Mexception" com informações sobre um erro gerado pela função exclusiva ().

No exemplo a seguir, veremos como recuperar essas informações para processar os erros corretamente. Para fazer isso, criaremos um aplicativo de console no qual usaremos a função exclusiva () para gerar os erros que lidaremos no bloco de captura e a função prompt () para inserir os dados que serão os argumentos de entrada de exclusivos ().

Quando uma tentativa pega um desses erros, ele armazena suas informações na "Mexception", que criaremos com o nome "inf_err", como mostrado abaixo.

Catch Inf_err

No bloco de captura, enviamos uma mensagem ao usuário, informando -os de detectar um erro com a seguinte mensagem “Try encontrou um erro e passou o controle para capturar”.

Em seguida, pegamos o identificador de erro do objeto criado anteriormente “err_inf.identificador ”. Este identificador tem a forma de uma string e nos fornece informações sobre:

A função que o gerou Matlab: único

E o erro específico UnknownInput

'MATLAB: ÚNICO: desconhecido'put'

Esta string será o argumento de que o Switch condicional comparará com cada um dos erros predefinidos em cada caso.

Switch Inf_err.identificador
Caso 'MATLAB: único: UnknownInput'
..
Caso 'Matlab: único: desconhecido'
..
fim

Uma possível solução para o erro ou uma mensagem para o usuário será fornecida em cada caso.

Crie um script, cole este código e execute o script. Para fechar o aplicativo, pressione Ctrl+C.

ns = [1, 2, 3; 4, 5, 6];
enquanto 1
prompt = 'insira um valor para obter exclusivo.';
a = entrada (prompt);
tentar
x = exclusivo (ns, a);
Catch Inf_err
disp 'tente encontrar um erro e passou o controle para capturar';
disp (['Identificador de erro:', inf_err.identificador]);
Switch Inf_err.identificador
Caso 'MATLAB: único: UnknownInput'
disp 'a entrada especificada não pôde ser encontrada. Por favor, tente novamente.';
Caso 'Matlab: único: desconhecido'
disp 'a função exclusiva () não reconhece o sinalizador:';
disp (a);
Os sinalizadores válidos de dispção são 'linhas', 'primeiro', 'último', 'estável', 'classificado';
fim
fim
prompt = 'pressione Enter para continuar';
a = entrada (prompt);
clc ();
fim

Os dados inseridos através do prompt é enviado como o segundo argumento de entrada para a função exclusiva (). Essa entrada corresponde às 'linhas', 'primeiro', 'último', 'estável', 'classificada' ou 'legado' sinalizadores dessa função, para que gerarão um erro se uma string for enviada que exclusiva () não reconhecido como uma dessas bandeiras. Também gerará um erro se essa entrada receber um valor numérico. Temos predefinido um caso no comutador condicional para cada um desses dois erros para lidar com cada erro separadamente. Nos dois casos, as mensagens são enviadas ao usuário, informando -as sobre o erro e as possíveis soluções.

Quando o aplicativo estiver em execução no console do MATLAB, digite 'linhas' no prompt e pressione Enter. Nesse caso, nenhum erro é gerado, e o resultado é = exclusivo (ns, 'linhas') e é exibido no console de comando.

Nesse caso, a string 'ABCD' foi enviada para exclusiva () e, como não corresponde a nenhuma das bandeiras, um erro foi gerado.

No bloco "Catch", as informações sobre esse erro foram coletadas e classificadas para dar um tratamento especial, uma mensagem para o usuário com as opções de sinalizador disponível na função exclusiva ().

O mesmo neste caso em que um tipo de entrada não aceito foi enviado, isso gerará um erro que o bloco de tentativa "detecta e passa o controle para o bloco" Catch "onde o erro é classificado e tratado; Nesse caso, uma mensagem para o usuário relatando o erro e a solução possível.

Conclusão:

Neste artigo, explicamos a declaração de Try-Catch no MATLAB. Também demos alguns exemplos práticos que demonstram o uso da “Declaração de Try-Catch para lidar com exceções. Também explicamos como classificar os erros no bloco "captura" usando o objeto Mexception. Esperamos que você tenha achado este artigo do Matlab útil. Veja outros artigos de dica do Linux para obter mais dicas e informações.