2 newbie questions

  • Thread starter Thread starter Hari
  • Start date Start date
H

Hari

From: "Hari" <[email protected]>
Subject: 2 extreme newbie ?s
Date: Friday, August 13, 2004 2:43 PM

I just started programming in Visual Basic.NET about a month ago, so I am
completely oblivious as to which libraries to look in. However, I have good
experience with Java and C. Below are ten extremely simple questions which I
couldn't seem to find the answers to after looking in some text and
searching through the libraries:

I looked many places for the library that parses Strings into different
number formats, but couldn't find one.
Ex:
Dim str As String = "8.93"
Dim num As Double
num = ???
If I want num to be set to 8.93, which method of the String class should I
use?


When I implement the Try... Catch... Finally set, I can't quite get the
clause to function the way I want it to. Take the following piece of code:
____ 'Start
Dim slots(3) As Integer
Try
slots(4) = 3
Catch Except As IndexOutOfBounds 'or something
'catch code here
Catch Except As Exception
'other catch code here
___ 'End
if I want to have a certain exception handled one way and any other
exception all handled in one general way, what do I need to do. If I type in
the above code, I always get the the general code executed, even if the
IndexOutOfBounds exception was thrown.
 
Hari said:
From: "Hari" <[email protected]>
Subject: 2 extreme newbie ?s
Date: Friday, August 13, 2004 2:43 PM

I just started programming in Visual Basic.NET about a month ago, so I am
completely oblivious as to which libraries to look in. However, I have good
experience with Java and C. Below are ten extremely simple questions which I
couldn't seem to find the answers to after looking in some text and
searching through the libraries:

I looked many places for the library that parses Strings into different
number formats, but couldn't find one.
Ex:
Dim str As String = "8.93"
Dim num As Double
num = ???

num = CDbl(str)
If I want num to be set to 8.93, which method of the String class should I
use?


When I implement the Try... Catch... Finally set, I can't quite get the
clause to function the way I want it to. Take the following piece of code:
____ 'Start
Dim slots(3) As Integer
Try
slots(4) = 3
Catch Except As IndexOutOfBounds 'or something
'catch code here
Catch Except As Exception
'other catch code here
___ 'End

Are you sure? I tried the following code which works as expected


Dim sl(3) As Integer

Try
sl(4) = 1
Catch ex As System.IndexOutOfRangeException
MsgBox("System.IndexOutOfRangeException " & ex.Message)
Catch ex As System.Exception
MsgBox("System.Exception " & ex.Message)
End Try
 
Thanks karlww and Imran,
I was just trying it out again and I realized the following piece of code
worked:
Dim str As String = "8.93"
Console.WriteLine(str + 0.07)
which means that there is an automatic class cast in the background. I
didn't even realize this so, sorry for the hassel.
 
Hey Hari,
The automatic cast is generally frowned upon. Consider for example;

Dim str As String = "8.93"
Dim str2 As String = "0.07"

Console.WriteLine(str + str2) 'what do you expect as the output; 9 or
"8.930.07"?
 
Hari,
Include Option Strict On at the top of each of your source files. It will
disable these automatic class conversions, which IMHO can cause brittle code
(code that breaks easily at run time, usually with obscure errors or no
errors).

In other words Option Strict On will cause compile time errors instead of
runtime errors for most conversions...

The default is Option Strict Off, which allows this automatic conversions.

Hope this helps
Jay
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top