• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    新一篇: Silktest天天學系列8-異常相關函數

    發布: 2008-5-06 17:41 | 作者: Zeng YueTian | 來源: Zeng YueTian博客 | 查看: 137次 | 進入軟件測試論壇討論

    領測軟件測試網 作者Zeng YueTian,轉載請注明出處http://blog.csdn.net/yuetiantian/
     
    Raise語句會產生一個異常,并且會將控制權交給異常處理或者是停止腳本的執行。Raise語句的原型為:
    raise [integer-expr [, expr [, cmd-line]]]
    其中,integer-expr是一個可選項,是你想要在錯誤處理部分拋出的異常號。
    Expr:可選項,是一個關于異常的并且包含信息的任何類型表達式。你可以指定一個包含錯誤解釋的字符串,或者你可以從silktest中調用內置的4Test函數得到這些信息。
    Cmd-line:可選項,一個包含命令行的表達式,如果你指定了它,結果文件將在錯誤行顯示一個圖標,當你點擊該圖標,錯誤行將被執行。
    下面是一個關于raise用法的例子,這些代碼出現在raise.t的腳本中。
    // this script is in a file called raise.t     
    testcase raiseExample ()   //--------------àline 1
              STRING sTestValue = "xxx"
              STRING sExpected = "yyy"
              TestVerification (sExpected, sTestValue)   //-----------àline 5
          
           TestVerification (STRING sExpected, STRING sTestValue)
              if (sExpected == sTestValue)
                 Print ("Test was successful")
              else
                 raise 1, "ERROR: Test verification failed"       //------------àline 11
    在第5行的函數TestVerification中,由于xxx和yyy不相等,所以將在11行用raise語句拋出一個異常,該異常的號碼是11,關于該異常的相關信息是ERROR: Test verification failed。所以實際的結果文件為:
    ERROR: Test verification failed
    Occurred in TestVerification at raise.t(11)
    Called from raiseExample at raise.t(5)
     
    Reraise語句將再次產生一個異常,并且將控制權移交給下一個異常處理程序。當一個異常處理程序已經捕獲了原來的異常,但是你希望把控制權交給下一個異常處理程序,當然如果有的話。那么reraise將把控制權交給當前塊的下一個異常處理程序,或者是產生該異常的函數的塊。如果沒有其他的異常處理程序被發現,腳本將停止執行。
    下面用一個例子來說明reraise的用法:
    // This script is stored in a file called reraise.t
           testcase reraiseExample ()
              LIST OF INTEGER liXcept
              do
                 BuildList (liXcept)
              except
                 Print (liXcept)
                 reraise
           BuildList (out LIST OF INTEGER liXcept)
              const LIST OF INTEGER liNum = {...}
                  20
                  10
                  0
                  5
              INTEGER i
              liXcept = {}
              for each i in liNum
                 ListAppend (liXcept, 100 / i)
    很顯然在BuildList的最后一行執行到liNum[3]時會拋出一個異常,這個時候會打印此時liXcept的值,并且重拋該異常,由于沒有其他的異常處理程序了,所以腳本將會停止運行。
    下面是另外一個例子:
    [-] testcase Reraise ()
           [ ] string xstr="xxx"
           [ ] string ystr="yyy"
           [-] do
                  [-] do
                         [ ] Verify(xstr,ystr)
                  [-] except
                         [ ] print("I catch the exception,i will reraise it")
                         [ ] reraise
                         [ ] print("After reraise exception here.")
           [-] except
                  [ ] print("I get the reraised error")
    大家可以執行看看是什么結果。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: silktest SilkTest SilKtest Silktest 相關函數


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>