Ïîìîãíè íè äà íàïðàâèì Uroci.net ïî - áîãàò! Äîáàâè óðîê
Êàòåãîðèè Äðóãè óðîöè Adobe Photoshop Adobe Illustrator Adobe Flash Adobe Fireworks DreamWeaver CSS è HTML Corel Draw Image Ready PHP SEO CMS Microsoft Windows Microsoft Word Microsoft Excel PowerPoint Microsoft Access Microsoft Publisher Linux Visual basic
JavaScript Ajax 3ds Max Maya 3D C++ Sound Forge Gimp SWiSH

Îáðàáîòâàíå íà ãðåøêè ïî âðåìå íà èçïúëíåíèå

bubust   òðóäíîñò:    âèäÿí: 1930

Íåñòðóêòóðèðàíî - Unstructured Error Handling

Òåõíèêà çà îáðàáîòêà íà ãðåøêè, êîÿòî ñå âúðòè îêîëî âàðèàöèè íà èñòðóêöèÿ On Error... ñå íàðè÷à íåñòðóêòóðèðàíà (unstructured). Òàçè òåõíèêà èçïîëçâà îáåêò Err è ñòåêà çà âèêàíå (call stack) íà Visual Basic.

- Îáåêò Err

Âãðàäåíèÿò âúâ Visual Basic (built-in) îáåêò çà ãðåøêè, íàðå÷åí Err, å îñíîâåí çà íåñòóêòóðèðàíî îáðàáîòâàíå íà ãðåøêè.

Òîçè îáåêò èìà íÿêîè ñâîéñòâà è ìåòîäè äàäåíè â òàáëèöè 1 è 2.

Òàáëèöà 1.

Ñâîéñòâà íà îáåêò Err
Ñâîéñòâî

Îïèñàíèå
Description Êðàòúê íèç (string), îïèñâàù ãðåøêàòà.
HelpContext Êîíòåêñòíîòî ID çà ðàçäåëà îò help, ñâúðçàí ñ ãðåøêàòà.
HelpFile Ïúëíîòî èìå íà ñúîòâåòíèÿ help (ïîìîùåí) ôàéë, àêî ñúùåñòâóâà
LastDLLError Âúðíàòèÿò êîä îò ôóíêöèÿ, êîÿòî å âúíøíà DLL.
Number Íîìåðúò íà ãðåøêàòà.
Source Íèçúò (string), îïðåäåëÿù îáåêòà, êîéòî ãåíåðèðà ãðåøêàòà,

ïðèìåðíî pplication.objectname, êàòî íàïðèìåð

Excel.Application.



Òàáëèöà 2.

Ìåòîäè íà îáåêò Err
Ìåòîä Îïèñàíèå
Clear

Èçòðèâà ñòîéíîñòèòå íà âñè÷êè ñâîéñòâà íà îáåêò Err.

Err().Clear( )
Raise Óêàçâà íà Visual Basic äà ãåíåðèðà runtime error è óñòàíîâÿâà

ñòîéíîñòèòå íà ñâîéñòâàòà íà îáåêò Err ðàâíè íà ïàðàìåòðèòå íà

ìåòîä Raise :

Err.Raise(Number, Source, Description, _

HelpFile, HelpContext)



- Ðàç÷åò íà ãðåøêè ïðè èçïúëíåíèå - runtime errors

Visual Basic îòêðèâà ãðåøêè ïðè èçïúëíåíèå âåäíàãà ñëåä êàòî ãðåøêàòà ñå ïîÿâè, óñòàíîâè ñâîéñòâàòà íà îáåêò Err, è ïîñî÷è ëîêàöèÿòà, â íàé-÷åñòèÿ ñëó÷àé íà ðåäà ïðåäâèäåí îò ïðîãðàìèñòà ñ On Error.... Òàçè ëîêàöèÿ ìîæå äà å:

· Ðåäà îò êîäà íåïîñðåäñòâåíî ñëåäâàù òîçè, â êîéòî å âúçíèêíàëà ãðåøêàòà.

· Äðóãà ëîêàöèÿ âúòðå â offending procedure.

· Ïðîöåäóðàòà, êîÿòî âèêà offending procedure, àêî èìà òàêàâà. Àêî íÿìà, VB èçðàáîòâà ñúîáùåíèå çà ãðåøêà è ïðåêúñâà ïðàãðàìàòà.



- Îáðàáîòêà íà ãðåøêà âúâ ðåä (In-line error handling)

Îáðàáîòêàòà íà ãðåøêà ìîæå äà áúäå "ïðåíàñî÷åíà" êúì ðåä, ñëåäâàù ðåäà îò êîäà, êúäåòî ùå ñå îòêðèå ãðåøêàòà, íàé-÷åñòî ñ èíñòðóêöèÿ On Error è òîãàâà çàïèñúò å òàêúâ:

On Error Resume Next

Íàðè÷à ñå îáðàáîòêà íà ãðåøêà âúâ ðåä (in-line error handling).

Åòî åäèí ïðèìåð çà ïðåèìåíóâàíå íà ôàéë:

Dim sOldName, sNewName As String

On Error Resume Next

' ïèòà çà ñúùåñòâóâàùî èìå íà ôàéë - file name

sOldName = InputBox("Enter the file name to rename")

' ïèòà çà íîâî èìå íà ôàéë - new name

sNewName = InputBox("Enter the new file name")

' ïðåèìåíîâàíå íà ôàéëà - Rename file

Rename("c:" & sOldName, "c:" & sNewName)

' Deal with error

If Err( ).Number = 53 Then

' ãðåøêà îò íåíàìåðåí ôàéë - File not found error

MsgBox("File " & sOldName & " not found")

Exit Sub

Else

' âñè÷êè äðóãè ãðåøêè - errors

MsgBox(Err().Number & ": " & Err( ).Description)

Exit Sub

End If


Ñòðàíèöè: 1 2 3 »

Ðåãèñòðèðàéòå ñå, çà äà äîáàâèòå êîìåíòàð


© Âñè÷êè ïðàâà çàïàçåíè. 2006-2008. Created by: Site.bg
Ïðåïîðú÷âàìå: IT Íîâèíè | Êèíî è èãðè | Äèïëîìà.áã | Paparak.bg | Òóíèíã Ïîðòàë | uchenik.com | TRAVEL òóðèçúì | Ðåôåðàòè | AmAm.bg | Èäå.ëè | Êóðñîâè ðàáîòè | AnimeS-bg.com | Ôîòî Ôîðóì | Çàïîçíàíñòâà | Ìðåæà îò ïðèÿòåëè | IT Light | Spodeli.net | Ôîòî-Êóëò | IDG.BG | Teenproblem.net | Áëîã - Îáðàçîâàíèå | Fresh-BG.com | Hanovete.com | Bulfleet.com | Mythlands.com | Ohoboho.com | Êàçàíëúê.Com | News24 | Setcom.bg | Atol.bg | Elmaz.com | MobileBulgaria.com