How to catch specific MS-SQL SQLExceptions in C# and VB.NET

To catch specific SQLExceptions using Microsoft.NET and Microsoft Sequel Server you can use the snippet below. You also need to look for the specific error numbers/codes you want to catch. To do this you can either execute the following query in the SQL Management Studio or you can use this
List of SQLException Numbers/Codes (Direct-DL around 15mb).


T-SQL Sample

C# Sample

VB.NET Sample

Compatibility: working .NET 2.0 working .NET 3.0 not tested .NET 3.5 not working .NET 4.0 not working .NET 4.5not working .NET 4.6

If you have any questions or suggestions feel free to rate this snippet, post a comment or Contact Us via Email.

Related links:

How to get the current Database and Log Filesize using MSSQL

To get the current Database and Log Filesize using MSSQL you can use the snippet below. Tested using SQL Server 2012.

Sample MSSQL

with database_files_CTE as
        name, type_desc, physical_name, size_mb = convert(decimal(11, 2), size * 8.0 / 1024),
        space_used_mb = convert(decimal(11, 2), fileproperty(name, 'spaceused') * 8.0 / 1024) from sys.database_files
select name,type_desc as [type],physical_name as [path],size_mb as [Filesize],space_used_mb as [Filesize used],
case size_mb when 0 then 0 else convert(decimal(5, 2), space_used_mb / size_mb * 100) end as [Filesize used %]  from database_files_CTE;

Sample Output

Query Results Filesizes

How to Log off, Restart or Shutdown Windows using Batch

To Logoff, Restart or Shutdown Windows using Batch you can Simply execute shutdown with the needed parameters. To execute the shutdown command you need the sufficient user privileges.

List of Parameters

  • -l Logs off the current user, this is also the default. -m ComputerName takes precedence.
  • -s Shuts down the local computer.
  • -r Reboots after shutdown.
  • -a Aborts shutdown. Ignores other parameters, except -l and ComputerName. You can only use -a during the time-out period.
  • -f Forces running applications to close. Note that if you are on a remote machine without using -f your session maybe closed but a hanging program blocks the Shutdown
  • -m [ \\ ComputerName ] Specifies the computer that you want to shut down.
  • -t xx Sets the timer for system shutdown in xx seconds. The default is 20 seconds.
  • -c ” message “ Specifies a message to be displayed in the Message area of the System Shutdown window. You can use a maximum of 127 characters. You must enclose the message in quotation marks.
  • -d [ u ][ p ] : xx : yy Lists the reason code for the shutdown. Reason Codes (u=Indicates a user code), (p=Indicates a planned shutdown cod), (xx=Specifies the major reason code (0-255)), (yy=Specifies the minor reason code (0-65536)
  • /? Displays help at the command prompt.

    How to get the current Stack Trace without having a exception?

    To print the current Stack Trace without having a exception you can use the StackTrace class located in System.Diagnostics Namespace

    Sample C#

    System.Diagnostics.StackTrace stackTrace = new System.Diagnostics.StackTrace();

    Sample VB.NET

    Dim stackTrace As New System.Diagnostics.StackTrace()

    for more informations take a look at the MSDN: StackTrace Class, System.Diagnostics Namespace