June 16,2008

Boo(19)-例外處理

例外處理的語法與 Python 相近,差別在於 Boo 使用 ensure,而 Python 使用 finally。
除此之外,Boo 統一使用 except 處理各種例外,而 Python 使用 else 處理無法處理的例外型態。
import System

class MyException(Exception):
  _msg as string
  def constructor( s as string ):
    _msg = s
  override def ToString() as string:
    return "MyException::${_msg}"

// 試著調整這兩個變數試試看
isExceptionHappen = false
isMyExceptionHappen = true

try:
  // .. do something ...
  if isExceptionHappen:
    raise Exception("Something wrong.")  // 提出例外情況
  // ...
  if isMyExceptionHappen:
    raise MyException("Hey!!")
except e as MyException:
  print e.ToString()
except e as Exception:
  print e.Message
ensure:
  print "不管有沒有錯誤,這裡都會被執行。"
參考:Boo Primer - 例外Python tutorial - 8. Errors and Exceptions


Posted by elleryq at 樂多Roodo! │17:29 │回應(0)引用(0)Boo
樂多分類:網路/3C 共同主題:.Net/Mono 工具:編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/6183075