Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
set eCancel to −128
set eBadNumber to −1700
set OKtoExit to false
repeat while not OKtoExit
try
display dialog "Enter a number" default answer "0"
set theNumber to text returned of result as integer
set OKtoExit to true
on error errorMsg number errorNum
if errorNum is eCancel then
display dialog "Are you sure you want to Cancel?" buttons {"Yes", "No"} ¬
default button "No"
if button returned of result is "Yes" then
set OKtoExit to true
end if
else if errorNum is eBadNumber then
display dialog "You entered a bad number, try running the program again" ¬
buttons {"OK"} with icon stop
else
display dialog "Error: " & errorMsg
end if
end try
end repeat
The answer to Exercise 1 also satisfies this problem. You may want to just change the message about running the program again because it no longer applies.