VB Migration Partner


Previous | Index | Next 

[BUG] Testing Err after invoking Format6 method

Format6 method defined in the VB6Library maps over the VB.NET Format method (defined in the Microsoft.VisualBasic.Compatibility.VB6.Format namespace), which internally clears the Err object (and possibly sets it if the Format function itself throws an exception). This behavior is different from the VB6 Format method, which doesn’t affect the value of the Err object.

As a result, you cannot test the Err object after invoking the Format6 method, because the Err object is likely to be cleared at that point. The obvious workaround is that you save the value of the Err.Number property (and possibly Err.Description) before invoking the Format6 method:

' this VB6 code doesn’t work well after migrating to .NET
result = EvalSomething()
MsgBox "Result = " & Format("###.00", result)
If Err.Number <> 0 Then MsgBox Err.Description
‘ this VB6 code works well even after the migration to .NET
result = EvalSomething()
Dim errNumber As Integer, errDescription As String
errNumber = Err.Number
errDescription = Err.Description
MsgBox "Result = " & Format("###.00", result)
If errNumber <> 0 Then MsgBox errDescription
Previous | Index | Next 

Follow Francesco Balena on VB6 migration’s group on


Read Microsoft Corp’s official case study of a VB6 conversion using VB Migration Partner.

Code Architects and its partners offers remote and onsite migration services.

More details

Subscribe to our free newsletter for useful VB6 migration tips and techniques.


To learn more about your VB6 applications, run VB6 Analyzer on your source code and send us the generated text file. You will receive a detailed report about your VB6 applications and how VB Migration Partner can help you to quickly and effectively migrate it to .NET.

Get free advice

A fully-working, time-limited Trial Edition of VB Migration Partner allows you to test it against your actual code

Get the Trial

The price of VB Migration Partner depends on the size of the VB6 application, the type of license, and other factors

Request a quote

Migrating a VB6 application in 10 easy steps

Comparing VB Migration Partner with Upgrade Wizard

Migration tools: Feature Comparison Table

All whitepapers