2
Tcl error
コマンドは、指定されたメッセージをstderr
に書き込み、接頭辞「Error:」を追加します。Tclエラープレフィックスを変更するには?
"ERROR:"や "MyError:"のようなものでプレフィックスを変更することはできますか?
Tcl error
コマンドは、指定されたメッセージをstderr
に書き込み、接頭辞「Error:」を追加します。Tclエラープレフィックスを変更するには?
"ERROR:"や "MyError:"のようなものでプレフィックスを変更することはできますか?
error
コマンド自体は、Tcl結果以外の場所には何も書き込まれません。それは何ですか実際にはは例外(タイプ "エラー"; TCL_ERRORはC APIレベル)をスローします。 "Error:
"という接頭辞が付いたコードは、標準的なフォールバックハンドラにすぎませんが、メインスクリプトでcatch
を使用して結果をトラップし、その処理方法を決定することで独自のコードを使用することができます(8.6以降はtry …
より簡単です特定の問題をトラップするときに使用する)。
if {[catch {source realscript.tcl} msg]} {
# Caught an error!
puts stderr "Oh noes! Teh errorz iz atakkin! $msg"
puts stderr $::errorInfo
exit 1
}
OK、あなたは8.5を使用している場合は、そのを書くために、わずかに良い方法がある:
if {[catch {source realscript.tcl} msg resultdict]} {
# Caught an error!
puts stderr "Oh noes! Teh errorz iz atakkin! $msg"
puts stderr [dict get $resultdict -errorinfo]
exit 1
}
あなたがかもしれないまたは結果辞書内の他の興味深いものがたくさんがあります興味がないかもしれない。