Tcl/Tk: Capturando e tratando erros

Palavras-chave: Tcl/Tk, capturar, erros

Quando um procedimento é executando em Tcl, ele retorna 1 (sucesso) ou 0 (falha). É este resultado que faz o interpretador mostrar ou não um erro.

Para não mostrar o erro ao usuário, mas detectá-lo e tratá-lo no código, use o comando catch. Ele chama o interpretador Tcl de forma recursiva, executando o código e retorna 5 possíveis sinais:

  • 0 – TCL_OK
  • 1 – TCL_ERROR
  • 2 – TCL_RETURN
  • 3 – TCL_BREAK
  • 4 – TCL_CONTINUE

Por exemplo, como saber se a conexão ao banco de dados foi bem sucedida?

if { [catch {set token [mysqlconnect \
	-host sqlserver \
	-user user_db \
	-db banco_de_dados \
	-password senha]} err_con] } {
    puts "Erro ao Conectar : $err_con"
}

Se o comando de conectar obteve sucesso, o catch retorna 0 (zero) ou false, fazendo com que o if não execute.

This entry was posted in Tcl-Tk and tagged , , , . Bookmark the permalink.

One Response to Tcl/Tk: Capturando e tratando erros

  1. LES says:

    Ou seja: com uso do catch, o script não é interrompido em caso de erro, como acontece nas outras linguagens de script. Na verdade, um script (ou pelo menos um proc) inteiro pode ser executado dentro de catch { }, e o script segue em frente mesmo que haja erros DE PROGRAMAÇÃO OU SINTAXE! Resta ao programador preparar o programa para as diversas possibilidades de erro.

    Tcl é uma linguagem maravilhosa.

Comments are closed.