C# - Use Case For Try-catch-finally With Both Catch And Finally

Feb 17, 2010

I 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.

View 10 Replies


ADVERTISEMENT

If Throw An Exception From Within A Catch, Does The Finally (from The Catch) Still Execute

Jun 2, 2009

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]....

View 6 Replies

Why Use Finally In Try/Catch

Nov 25, 2009

OK, I'd like to know the difference between the following two blocks of code:

Block A
Try
Something

[code].....

View 3 Replies

C# :: Why Can't Write Just A Try With No Catch Or Finally

Dec 27, 2010

Sometimes I do this and I've seen others doing it too:

VB:
Try
DontWannaCatchIt()

[code].....

View 10 Replies

Catch Exceptions In Finally Block?

Oct 13, 2010

Is there some special way to catch exceptions in finally block ?

View 2 Replies

Return Inside Try/catch/Finally?

Sep 15, 2009

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]...

View 7 Replies

Try Catch Finally Doesn't Work?

Mar 23, 2010

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].....

View 10 Replies

VS 2008 How To Use Try Catch Finally Statement

Jun 15, 2009

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 Replies

VS 2008 How To Use Try..Catch...Finally Statement

Mar 4, 2011

i 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]....

View 14 Replies

Which Is Faster - A Using Block Or Try / Catch / Finally

Sep 2, 2010

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]...

View 4 Replies

.net - Replicate Try/catch/finally Using On Error Goto

Jun 14, 2012

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).

View 2 Replies

Trap Any Exceptions With Try Catch Finally If The Reader?

Apr 8, 2011

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 Replies

.net - Try Catch Finally Blocks.. Do I Still Need Them When Handling Errors In The Global.asax

Jun 2, 2010

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?

View 1 Replies

Is Try / Catch / Finally Required With Using Statement In Order To Handle Exceptions

Jan 31, 2012

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 Replies

Error - Catch Cannot Catch Type 'Microsoft.Office.Interop.Outlook.Exception'

Mar 25, 2011

I have a program in VB.Net that receives mails from Outlook, extracts attachments and inserts the attachments into a table through a query. I would like to put the query/queries in a Try/Catch block, but cannot do so as Outlook exceptions cannot be caught, and it gives me an error, and unless I put a very specific exception, I cannot catch it. Is there a workaround?

Edit:

Try
Catch ex As Exception
End Try

Exception is underlined and when I hover on it, it says: "Catch cannot catch type 'Microsoft.Office.Interop.Outlook.Exception' because it is not in 'System.Exception' or a class that inherits from 'System.Exception'". This is affecting all my other code which I'd like to put into a Try/Catch block.

View 2 Replies

Restructure Try / Catch To Eliminate Error On Myreader.close Command In Catch Part?

Jun 19, 2012

The following code causes a "Warning" that Variable is used before value assigned.How do I restructure this Try/catch to eliminate error on the myreader.close command in the Catch part? Code appears to work fine but I dont like Warnings. [code]

View 8 Replies

Button_click Event Will Not Stop Execute After Error Catch Using Try - Catch Statement

Apr 1, 2011

i have problem when i click a ADD button, there is one null value in the textbox .. so the try catch statemnt is to catch that null value error but after that the catch is success but the button click never stop excute the statemnt till the end of the button event.

View 6 Replies

Nested Try...Catches - If An Exception Occurs In The 2nd Sub's Try...Catch, Which Catch Gets Excecuted?

Mar 4, 2009

I have this scenario: in a Sub I have a Try...Catch statement.Within that Try..Catch I call another sub.In that 2nd sub is also a Try...Catch.(see below for example).Now if an exception occurs in the 2nd sub's Try...Catch, which Catch gets excecuted? The 2nd one, the 1st one or both?

Private Sub sub1()
Try
..do stuff[code].....

View 3 Replies

Catch Log4net Exceptions / Use Try / Catch Approach

Jan 23, 2012

I need to catch log4net exceptions (its own exceptions not app exceptions logged by it). I wish there's a way of doing it this way: [code] I have this code implemented and there's no errors in compilation but i force log4net to have an error (pointing to a non existing database in the config file) and nothing is threw.I've tried the listener aproach: [code] and it's writing the errors to log4net.txt, the forced ones i mean.This last aproach has a couple of drawbacks: it won't append every error to the file, if the error is the same it doesn't write it, i can't get the listener to write every error to that file, only one (I don't know how to fully configure the trace listener, it might be that). Thus it won't append the date and hour to every line wich is a necesity for me. Finally i can't give structure to it (xml). Even if the listener work i need to use the try/catch aproach, since i'm using ExceptionHandling from Enterprise library to log the errors in my app.

View 1 Replies

Error 68 'Catch' Cannot Catch Type 'Microsoft.Office.Interop.Outlook.Exception' Because It Is Not 'System.Exception'

Feb 12, 2010

I am using VB.NET 2005 to create a Windows forms application. I have a procedure named SendMail that creates an instance of Outlook.Application, to send an email from my application. I found the code on this forum, I think.The procedure works fine, but I can't use error handling with it.I call the procedure from a button click event. I put the procedure call in a try/catch block, and the application won't build, with the following error.

Error 68 'Catch' cannot catch type 'Microsoft.Office.Interop.Outlook.Exception' because it is not 'System.Exception' or a class that inherits from 'System.Exception'. C:datadevdmtiQTSQTSv7_1_20100212wQTSQTSReportsCriteria
pt_frmReportViewer.vb 43 21 QTS

Here is the code:

Sub SendMail(ByVal sFile As String)
' Create an Outlook application.
Dim oApp As Outlook._Application

[code]....

View 8 Replies

Use Finally In A Try Block?

Apr 3, 2010

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]...

View 17 Replies

Set An Object To Nothing In The Finally Block?

Apr 4, 2012

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.

View 2 Replies

.net - Exception Handling: Is Finally Executed After Throw?

Oct 16, 2009

Assume you have the following code:

Instead of doing:
Try
'
[code].....

View 5 Replies

C# - .NET Will Stop Debugging Run The Code In The Finally Block?

Jun 18, 2012

Well, 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]...

View 1 Replies

IDE :: In Finally Block - Check If An Exception Occurred Or Not ?

Sep 18, 2011

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 Replies

Null Reference Exception In Finally Block

Jul 2, 2009

does any one know the reason of why I get Warning in the Finally block in vb.

[Code]...

View 11 Replies

Within The Finally Block, Check If An Exception Occurred Or Not ?

Sep 18, 2011

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]....

View 9 Replies

Catch' Cannot Catch Type 'Object' Because It Is Not 'System.Exception' Or A Class That Inherits From 'System.Exception'

Aug 10, 2010

I'm getting 'Catch' cannot catch type 'Object' because it is not 'System.Exception' or a class that inherits from 'System.Exception'. and 'Expression detected' Code underlined in blue: Catch obj1 As Object When (?)

Private Sub OpenJAMem()
Dim num3 As Integer
Try

[code]....

View 2 Replies

'Catch' Cannot Catch Type 'exception' Because It Is Not 'System.Exception'?

Apr 16, 2012

I have a project converted from Visual Studio 2005 to Visual Studio 2010. It compiles and runs.

When I prune "unused references's from this project as listed by Visual Studio, the project fails to compile with the subject error message.

In particular one of the "unused refererences" is to "Microsoft.VisualBasic.dll". The IDE does not allow me to add back this particular reference.

What do I need to add back as a referenceto get this items?

View 4 Replies

Try/Catch - "Don't Catch Exceptions That You're Not Willing To Deal With"

Apr 20, 2010

A few weeks back in reply to a thread, I said then that it's sometimes worse to use a Try/Catch when there's nothing in the Catch!There are exceptions to that I'm sure, but too often the Try/Catch is used with a blank Catch that makes even the developer scratch their heads when the program crashes because they have nothing to go on (by their own doing).DevExpress (and I'm a big fan of their stuff) has a little three minute video that encapsulates that concept well and I thought that you all might enjoy watching it:[URL]

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved