Handling Exception On A Class Library?
Aug 13, 2009
I already read a lot about exception handling and saw many different threads on the subject but still confused when creating class libraries like the following scenario.
Lets say i have a class library "MyClass.dll", inside the project i have two classes:
Skeleton.vb
Imports System.IO
Public Class Skeleton
Public Function Create(ByVal resourceName As String) As String
[Code].....
View 4 Replies
ADVERTISEMENT
Sep 28, 2011
I am writing a class library that envelopes an USB device driver. This device has its own class library, provided by the hardware vendor.
Very often, especially if you handle with old DLL or COM assemblies, there are methods (functions to be correct) that return TRUE if all was OK, or FALSE if any error happen. Often these methods return information about the error in one of their parameters or separately in a GetLastError method or even if in an OnError event.
Now, normally I handle all native .NET exceptions in my class libray handling locally or re-throwing to the client if the error is useful to know. But what to do with all other errors that are hidden in the vendor's methods? (in the true I have no exceptions, but only returned TRUE or FALSE values).
Let's make an example with the method "CONNECT" that connect the client to the USB device.
I envelope the method in this way:
Public Sub Connect()
oVendorDevice.connect()
End Sub
now if any connection error happen, the vendor's connect method return FALSE. But I do not know why the connection failed. To know why the connection failed I have to call (for example) the method GetLastError that gives me information about the error. (but do not forget that other vendors use other strategies like returning the error in a method's parameter or in a OnError events.
Now, in order to follow a good .NET exception handling strategy I could write something like this:
Public Sub Connect()
Dim res As Boolean = oVendorDevice.connect()
If res = False Then
[Code].....
View 1 Replies
Aug 26, 2010
I'm relatively new to VB.NET and am having a problem when Databinding a Class to a Forms Controls. Basically within the Class, when Setting certain String Properties I heck that they are not Null/Empty and if they are Throw an Exception. The problem occurs when I bind the properties to textboxes - when the textbox is empty I expect an error to occur (which I will handle). So does anyone have any insight or solutions into why the exceptions are not being thrown when a textbox changed to an empty string?
A condensed example follows:
Dim a As New SomeClass("Random", "Text")
Dim f As New SomeForm(a)
[code].....
View 1 Replies
Mar 14, 2010
I would like to build a base class for my SQL Data Access Layer. I have most of it based out, but have a question about how to handle errors within the base class. I have a method for ExecuteNonQuery, ExecuteReader, ect...
[Code]...
View 18 Replies
Jun 21, 2011
I have a Visual Basic Class Library project. It generates a DLL. Is there a method to generate a static .LIB to which I can do a static link?Alternatively, can I do a static link against a DLL?
View 6 Replies
Oct 21, 2009
So I've made this control that inherits from the treeview control and basically loads objects from active directory into a treeview (url...).All working fine, but as this is the first custom control I have made that I have intended for other people to use, I'm not quite sure how I should approach error handling.I mean, obviously I shouldnt do something like show any exceptions in a messagebox because that might not be what the person that is using the control wants to happen. So do I just write out exception messages to the debug window? Do I swallow exceptions (guessing not)? Do I just totally ignore them so that they are thrown in the user's project?
View 4 Replies
Dec 8, 2009
I have a general question regarding best practices for exception handling. I have a class library that uses structured error handling. The functions in the library generally perform some mathematical calculations and all return a boolean value indicating whether an exception occured or not (i.e. exception occured = true, no exception = false). The actual calculated result in the function is returned as a ByRef parameter.
Anyway the input variables for my calculations are all passed to the funtions as parameters. I perform some basic checks on these inputs (e.g check that an input is not negative etc) as part of the function code. The next stage is where im unsure of the best way to do things. Using the example i just mentioned, if an input parameter is negative, I can either throw an exception such as "ArgumentOutofRange", or i can simply show a messagebox with some info about what happened. Either way i do it the function will return true. At the moment i am throwing an exception, but on reading the "Best practices for exception handling" it is recommended you dont throw an exception for things that can be checked programatically because of "performance/overhead issues".
I'm a little confused by what they mean by this. What kind of overhead are they talking about? Slower program? More disk space required? More memory required? When my functions return true, the calling methods basically drop everything and stop calculations (exit sub), so im not sure that the overhead issues they are talking about are as important to me. It seems easier and neater to throw an exception and utilize some global error strings and pass some parameters rather than copy and paste messagebox.show() all the time, and modify the text to suit the situation. Another argument for me would be that both methods of exception handling utilize a messagebox, which stops code execution until the user does something. So i cant see the issue with the performance overhead.
View 5 Replies
Apr 6, 2012
for the program I am creating I want the computer to check if the configuration file has been created or not. I wrote this function to do that but I don't how to handle a file exception. Here's my code currently but obviously it returns an error if the configuration file doesn't already exist. So how do I add a check for an exception?
Public Function CheckIfRunBefore()
Dim ConfDirectory As String
ConfDirectory = ""
Dim StreamReader As New IO.StreamReader("C:\VRAI\Conf.txt")
[code]....
View 3 Replies
Sep 29, 2009
I am currently working on my Final Project and I need to incorporate some Exception Handling. I have created one in the following code but it isn't working. I don't have any "Errors" or "Warnings" but when I run the program it says the "BadNameException was unhandled." I thought I followed the steps correctly from my book, but I am stuck somewhere. [code]
View 6 Replies
Aug 6, 2009
I initially posted this in the wrong forum. I need help getting this to run properly. I'm trying to construct a fractions calculator. In order to complete it, I need to do it like this:Using Select Case statements, four Function procedures should be called based on the operation selected. Each Function procedure will calculate the correct operation and return the Decimal value to the calling procedure. The original procedure will print the result.
Now, the result should be calculated to the hundreths place and the input values should be validated by a Try-Catch Block.And of course, I've been having trouble with how to do this. I've attempted many times and this is what I have so far:
[Code]...
View 2 Replies
Feb 22, 2010
I have been using VB6.0 to create database-driven Apps. With VB6.0, I could Dimi recordsets to read/write data from/into database tables. I could use the read data to validate textbox controls on the Windows Forms. But I when I upgraded VB6.0 Apps to VS 2008, I had problems with PowerPacks not found, Exceptional Errors etc.Most of all the problems I have experienced are:
- Overload Resolution failed because no accessible 'item' accepts this number of arguments.
- Error Code -2146825023
- Exception Snapshot - {"Item cannot be found in the collection corresponding to the requested name or ordinal."}
- Interop Errors[code]
View 3 Replies
Jan 25, 2011
I have converted vb6 code to vb.net but in vb6 I used errorHandler in VB.NET we used "Tyr and catch" block
but In catch block resume next gives an error bcoz it is not valid for vb.net
[Code]...
View 1 Replies
Jan 7, 2010
i did this little bit of Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
[Code]...
View 4 Replies
Apr 28, 2009
Currently to check if a file is in use (before attempting to move or send it by FTP etc) we try and open it with exclusive right and trap the System.IO.IOException that would occur if anotehr process is reading or writing the file.
However - how can we do this without the bad paractice of using an exception handler for unexceptional process flow?
View 6 Replies
Jul 27, 2010
Good, detailed resources or books for best-practices on exception handling? I am looking to dive into a much deeper understanding of it, and am finding it hard. All the books I see over .NET, ASP.NET, etc. place little emphasis or detail on exception handling.
I am currently testing out a 3-tier ASP.NET application, with a presentation layer, business logic layer, and data layer, and want to know more about exactly when to throw errors, when to catch them, what layer to do them in, etc.
I don't want a simple google search on ".NET exception handling" and then having you post the first couple of links. I would like you to respond if you have quality, known resources that you have used or have found.
View 6 Replies
Feb 24, 2012
I use the following code to access a VSS item:
Dim sItem As String = "$/MyVssProject/InexistentFile.txt"
Dim oItem As SourceSafeTypeLib.VSSItem = Nothing
Try
[Code]....
The problem I face is when I try to get an instance to a file that doesn't exist in the VSSDB, thus leading to a COMException, which basically wouldn't be of a problem (I would expect). In fact the exception occurs, but instead of proceeding with the catch code, the debug cursor stays on the line "oItem = m_oSourceSafe.VSSItem(sItem)", showing a dialog with title "COMException crossed a native/managed boundary.
From here the execution doesn't proceed, until I change the content of sItem to an existing file.
Why does the exception not get caught, and how can I achieve it?
Environment: VS2010 with .Net 2.0 on WinXP SP3 x86
View 1 Replies
Oct 6, 2010
Im using (virtually) the same code in two different projects, in the first, much older, program the code works well and had done for years. In the second the same code produces and Exception error.
QuoteUnauthorizedAccessException was unhanded.
Access to the path ˜C:/Jotto 1.gtc is denied.
Troubleshooting tips:
Make sure you have sufficient privileges to access this resource. If you are attempting to access a file, make sure it is not ReadOnly.
Actions:
View Detail...
Copy exception detail to the clipboard
The detail copied to clipboard says: -
CODE:
Which sadly means very little to me and I cant make head nor tail of what the Help, says... The only difference between the two codes is that in the first, working, project the file I wish to delete is named specifically whereas in the second, its named as a variable.
CODE:
The code runs ok up to the second of these lines, so the filepath has been verified. Have I perhaps missed something earlier in the code? some preconditioning perhaps ?
View 4 Replies
Apr 27, 2009
What 3rd party software is out there for exception handling for VB.net code?
View 4 Replies
Apr 15, 2012
How do i go about creating an exception handler when i want to login to my form to access the rest of my forms. The username and password are linked to server.What if it doesnt connect to server? here is coding for me to login:
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
If (txtUName.Text = "-") Or (txtUName.Text = "0") Or (txtUName.Text = "") Or
[Code]....
View 4 Replies
Feb 25, 2011
I'm having errors when I try to forcibly close a socket program. I don't know what is the right exception to use.
View 1 Replies
Aug 13, 2010
I have written a MDI Text Editor and I have written sub routines for print preview, cut, copy and so on, when testing my program, I click print preview when there are no documents active and the program crashes, the same happens with cut, copy, paste.
I know this is because I have not handled any error exceptions, the truth is im not sure how to.
I have got the code that makes print preview work with my mdi documents, but what code can I use or how can I add it to my existing sub routines to possibly show a message box saying something like "This Function Cannot Be Used With No Active Documents" something like that.
Could I use an If Statement? or Try, Catch, Block? - I am using a different computer as I am currently at work but if anyone needs the code I currently have for my sub routines.
View 10 Replies
May 17, 2012
I'm working on a project for school in which a dll is loaded.
The dll that is loaded is a bridge between my program and the Twincat System Manager which forms the bridge between the computer and a PLC via the local network.
I need to read Variables trough this whole chain from the plc to my program.
This is the way I do this:
Public Function adsReadReal(ByVal Variabelenaam As String) As Single
Dim ds = New TwinCAT.Ads.AdsStream(4 * 8) ' new data stream
Dim br = New System.IO.BinaryReader(ds) 'new binary
[Code]....
View 1 Replies
Jul 23, 2011
We generally have main block to start the program or application first form.I wrote some code in main and it is within try can catch block.Catch block the errors. This try catch block is a global try catch for my whole application.Now if exception occur in the code will be handled in this catch. But Is there any good way to handle the exception in the catch block if occur?as I write error in log file but sometimes file can have permissions for writing etc and it can create exception.As this try catch is the outer most try catch block and if any error occur in that catch it will cause application to crash.
View 8 Replies
Mar 18, 2012
I'm writing a CPU emulator in VB .NET.It's important to keep the code tight for maximum performance.
The following test code shows an example of my issue[code]...
Now I know I can use a long, and mask the value with &HFFFF, and I know I can add exception handling to the code. but remember, this is an emulator and more code = less performance.
View 2 Replies
May 10, 2011
Anyone out there who happens to have an exhaustive code snippet for SEH (including all possible exceptions) for VS 2008 or VS 2010 (.NET 3.5 or 4.0) ?
View 10 Replies
Mar 27, 2009
I have an unhandled exception event in the ApplicationEvents area of my program, but it never gets called when I do get unhandled exceptions. Is there a trick to making this work?
View 8 Replies
Apr 28, 2009
I have the following code in a class of mine. The purpose of this class is to get the balance from a web server. Just in case something goes wrong with getting the balance. I will handle a exception. However, all this is easy to do. But I am left wondering what do I return in my catch statement.
Most of the examples I looked at just write to the console using:
Console.WriteLine(ex.Message);
That is all very well. But in a real application what do most developers do?
My function at the moment returns void. And I am just wondering what else I would return if the webclient is busy?
[Code].....
View 1 Replies
Jul 2, 2010
When I try to create a instance of a COM class it throws an exception as Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
View 2 Replies
Sep 30, 2009
When I try to create a instance of a COM class it throws an exception as Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
View 4 Replies
Feb 14, 2012
I have a class library in VB.NET that does a NET-envelope for an USB device driver.There is only one function of that driver that I could not envelope in a traditional class, but I had to put it in a Windows Service as described here:Sharing a class property (field) between applications.The Windows Service works fine, but I have now two projects for my NET-envelope: the one with the class library, the second with the windows service and I do not like the idea to maintain two distinct projects for the same driver.Is it a good practice (or even if possible) to add a windows service class to a normal class library (without creating its own project as described in the vb tutorial)?I know, in any case I should create a separate setup only for the windows service, but in this way I could have together all the classes that envelope my usb device driver in only one project.
View 1 Replies