Which Is Faster - A Using Block Or Try / Catch / Finally
Sep 2, 2010This is a followup question to this Should I stick with the Try/Catch/Finally construct, or go with the Using construct? Sample Code for Try/Catch/Finally:
[Code]...
This is a followup question to this Should I stick with the Try/Catch/Finally construct, or go with the Using construct? Sample Code for Try/Catch/Finally:
[Code]...
Is there some special way to catch exceptions in finally block ?
View 2 RepliesI understand how try-catch works and how try-finally works, but I find myself using those (usually) in two completely different scenarios:
try-finally (or using in C# and VB) is mostly used around some medium-sized code block that uses some resource that needs to be disposed properly.
try-catch is mostly used either
around a single statement that can fail in a very specific way or (as a catch-all) at a very high level of the application, usually directly below some user interface action.
In my experience, cases where a try-catch-finally would be appropriate, i.e., where the block in which I want to catch some particular exception is exactly the same block in which I use some disposable resource, are extremely rare. Yet, the language designers of C#, VB and Java seem to consider this to be a highly common scenario; the VB designers even think about adding catch to using.
Or am I just overly pedantic with my restrictive use of try-catch?
EDIT: To clarify: My code usually looks like this (functions unrolled for clarity):
Try
do something
Aquire Resource (e.g. get DB connection)
Try
[Code]....
which just seems to make much more sense than putting any of the two catches on the same level as finally just to avoid indentation.
If I throw an exception from within a catch, does the finally (from the catch) still execute? i.e.
Try
..some code with an exception in it...
catch ex as Exception
throw new SpecialException("blah blah" & ex.Message, ex)
[code]....
OK, I'd like to know the difference between the following two blocks of code:
Block A
Try
Something
[code].....
I often use the Try block to catch exeptions, and I have read in the help pages to do with the Finally statement. But, from what I understand it has no use whatsoever. Why would I use Finally instead of just ending the Try block. For example, from what I know
[Code]...
Sometimes I do this and I've seen others doing it too:
VB:
Try
DontWannaCatchIt()
[code].....
In this VB.NET code:
Dim o as SomeClass
Try
o = new SomeClass
'call some method on o here
Catch(...)
Why is there a need to set o to Nothing? What if i don't set it to Nothing in the Finally block? What i think is that it is OK if you don't set it to Nothing because the object will be marked for GC.
I have a (begginner) question on VB.NET. Is this good code (I mean, is it "bullet proof")?. It seems to work, but I understand the Return is executed AFTER the Finally. So how does it call a method on an allready disposed of object?
[Code]...
I've a class with a timer inside
Private tt As New System.Timers.Timer()
This timer is enabled in the New() of the class
Try
[code].....
i want to know how to use try catch finally statement.i want to catch this error Violation of PRIMARY KEY constraint 'XPKemployee'. Cannot insert duplicate key in object 'dbo.employee'.
View 4 Repliesi have this problem about the try,catch,finally statement... i don't know how to use it..i have my converter program here and this should be type by a letter 'cause if you do it will go lag or hang...i try VERIFY button to make sure if it's a letter or number but my teacher said it's not counted...
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ComboBox1.Text = "Pounds To Kilo" Then
[code]....
Suppose in VB.NET you have:
Try
Debug.Print("Trying...")
Catch ex as Exception
throw new Exception("Exception", ex)
Finally
Debug.Print("Finally...")
End Try
How would you write this using the "On Error Goto" construct? (please no questions asking why I would want to do this, just curious if it can be done).
I have a SqlDataReader and I want to trap any exceptions with Try Catch Finally if the reader =cmd.ExecuteReader() statement fails. If this statement throws an exception do I need to close the reader? If so, where. Wherever I place the reader.close() statement I get an error that the reader has not been assigned a value yet.
View 2 RepliesWell, I've read (and learned) that the finally block doesn't always execute its code (even apart from pulling the plug).FYI For more information, see try catch finally question
[Code]...
In Finally Block, How can we check if an exception occurred or Not.I am programming in VB.Net. Why i am asking is that in the Finally Block there could be some things you would like to do if an Exception has occured and some things you want to do if an exception has not occured. So, within finally block how do we know if an exception has occured
View 11 Repliesdoes any one know the reason of why I get Warning in the Finally block in vb.
[Code]...
I am Not using the "Catch Ex as Exception" for some of my application's architect details.So, if my code is something like
Try
'code here
Catch ex As ApplicationException '!!! i.e. ApplicationException
[code]....
I am handling errors via my global.asax in this method:
Dim CurrentException As Exception
CurrentException = Server.GetLastError()
Dim LogFilePath As String = Server.MapPath("~/Error/" & DateTime.Now.ToString("dd-MM-yy.HH.mm") & ".txt")
Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter(LogFilePath)
[code]....
In my code I currently have no other error handling. Should I still insert try, catch, finally blocks?
I wonder how to use statement handles exceptions?Do I need to wrap the using statements with a Try/Cath/Finally clause in order to be sure that the SqlConnection object is closed and disposed even if the containing code throws an exception? [code]
View 3 RepliesFor the code shown below, how would I use a try/catch block to handle an error if it were to occur?
TOTKILO.Text = KILO.Text * TOUCH.Text * 0.01
TextBox10.Text = TextBox9.Text * TextBox8.Text * 0.01
K = Math.Round(Val(TOTKILO.Text) - Val(TextBox10.Text), 5)
[code]....
I used VB.Net controls and LINQ to SQL to perform all Updates and Inserts, so when an error occurs I want to show "Enter Data Correctly", how do I do that once I catch an exception?
I have a simple function which tries to get a value from an Obout grid filter column, and if the value is empty, ignores it and moves on. For some reason this code ignore my catch block and always shows a System.FormatException when the input string is empty More bizarre, if I use visual studio's debugger and set a breakpoint on that line, the catch block functions normally (after I continue from that line). I have already confirmed that my Debug | Exceptions | CLR are not set to catch when thrown. I have also confirmed this same behavior in the production version.
[Code]...
how do i make sure -1 is returned if an error occored?
Public Function ExcecuteNonQry(ByVal sql As String, Optional ByVal connectionString As String = "")
Dim returnVal As Integer = -1
[Code].....
Why would my try-catch block still be throwing an error when it's handled?[code].......
View 8 RepliesI've tried to Google this problem, but haven't found any relevant results.I am trying to handle HTTP 500 errors when logging into a web service (the web service returns 500 when login is incorrect). An WebException is thrown, but I can't seem to catch it properly. The exception is highlighted in green instead of the normal yellow (having trouble finding info on this as well)
[Code]...
We've created a little plugin to add a block of xml comment and create a try-catch to a function. (we simply add this to each and every function we write).But with the latest devexpress update I'm having a problem with the following code.[code].........
View 1 RepliesI am using ASP.NET 2.0. When i place a TRY CATCH block in my event it always go into the CATCH section, in my case it re-direct the page to Default.aspx. But if I remove the TRY CATCH block the code get's executed fine and it does what it suppose to.
CODE:
There is no error message when i place a break point by the "Catch ex As Exception" Am I reading the selectedRowIndex DataKey value incorrectly maybe?
In visual studio when I type the word try it automatically adds the catch and and try for me.
I want to add after the catch something like Msgbox(ex.message)... I'm tired to type the same thing over and over.
I normally use the following for global error handling:
Code:
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
AddHandler currentDomain.UnhandledException, AddressOf MYExceptionHandler
AddHandler Application.ThreadException, AddressOf MYThreadHandler
I normally don't have a MDI application, and When I force an error, neither of the events get fired. I don't have anything in a try catch block. How do I do this with a MDI application?
I'm trying to catch an invalid entry in a textbox that I use to enter numbers using the subroutine below.
In the Catch blok I want to change the ForeColor of the textbox that contains the invalid entry.
This did function but now gives me a null reference exception on the line where I change the ForeColor.
Private Sub SaveParm()
Dim Temps(2, 2) As Double
Dim Cname As String = "Text0"
[Code]......