. 6 ). ▁ ▁try ▁lets ▁you ▁trap ▁and ▁process ▁errors ▁and ▁exceptions . ▁ ▁catch ▁lets ▁you ▁trap ▁exception al ▁returns . ▁ ▁z lib ▁provides ▁access ▁to ▁the ▁compression ▁and ▁check sum ming ▁facilities ▁of ▁the ▁Z lib ▁library ▁( since ▁ 8 . 6 ). ▁ ▁U ple vel ▁ ▁u ple vel ▁allows ▁a ▁command ▁script ▁to ▁be ▁executed ▁in ▁a ▁scope ▁other ▁than ▁the ▁current ▁inn erm ost ▁scope ▁on ▁the ▁stack . ▁Because ▁the ▁command ▁script ▁may ▁itself ▁call ▁procedures ▁that ▁use ▁the ▁u ple vel ▁command , ▁this ▁has ▁the ▁net ▁effect ▁of ▁transform ing ▁the ▁call ▁stack ▁into ▁a ▁call ▁tree . ▁ ▁It ▁was ▁originally ▁implemented ▁to ▁permit ▁T cl ▁procedures ▁to ▁re im plement ▁built - in ▁commands ▁( like ▁for , ▁if ▁or ▁while ) ▁and ▁still ▁have ▁the ▁ability ▁to ▁manipulate ▁local ▁variables . ▁For ▁example , ▁the ▁following ▁T cl ▁script ▁is ▁a ▁re implementation ▁of ▁the ▁for ▁command ▁( om itting ▁exception ▁handling ): ▁ ▁proc ▁for ▁{ init Cmd ▁test Expr ▁advance Cmd ▁body Script } ▁{ ▁▁▁▁ ▁u ple vel ▁ 1 ▁$ init Cmd ▁▁▁▁ ▁set ▁test Cmd ▁[ list ▁expr ▁$ test Expr ] ▁▁▁▁ ▁while ▁{ [ u ple vel ▁ 1 ▁$ test Cmd ]} ▁{ ▁▁▁▁▁▁▁▁ ▁u ple vel ▁ 1 ▁$ body Script ▁▁▁▁▁▁▁▁ ▁u ple vel ▁ 1 ▁$ adv ance Cmd ▁▁▁▁ ▁} ▁} ▁ ▁Up var ▁ ▁up var ▁arr anges ▁for ▁one ▁or ▁more ▁local ▁variables ▁in