Я понимаю, что мой заголовок не очень информативен и, на мой взгляд, довольно сложно словом. В Visual Basic я пытаюсь запустить кусок кода, если код перед тем, как он передает оператор try, но не запускает его, если он не передает инструкцию try.Как запустить код, если код перед его прохождением инструкции try
Мой код выглядит следующим образом:
Public Class Form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim newCustomersRow As DataRow = Form1.Book_StoreDataSet.Customer.NewRow()
newCustomersRow("Title") = TextBox1.Text()
newCustomersRow("First Name") = TextBox2.Text()
newCustomersRow("Last Name") = TextBox3.Text()
newCustomersRow("Address Line 1") = TextBox4.Text()
newCustomersRow("Town") = TextBox5.Text()
newCustomersRow("County") = TextBox6.Text()
newCustomersRow("Post Code") = TextBox7.Text()
newCustomersRow("Card Type") = TextBox8.Text()
newCustomersRow("Card Number") = TextBox9.Text()
Try
newCustomersRow("Expiry Date") = TextBox10.Text()
Catch ex As ArgumentException
MsgBox("Please enter date like this: DD/MM/YY.")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
End Try
Try
Form1.Book_StoreDataSet.Customer.Rows.Add(newCustomersRow)
MsgBox("Data added successfully")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
Catch a As ConstraintException
MsgBox("That Card Number already exists.")
End Try
End Sub
End Class
Каждый раз, когда он работает он говорит «успешно добавлен Data», даже если есть ошибка.
Это цель Try/Catch. Он позволяет обрабатывать ошибку и продолжать работу без ошибки, прекращающей вашу обработку. Переместите второй Try/Catch до внутри первой. Попробуйте получить желаемый эффект. –
Спасибо, что решили проблему. По иронии судьбы я пробовал это так же, как вы отправили свой ответ. В любом случае, спасибо за вашу помощь :) – IsaSca
@ IsaSca: Я не являюсь поклонником этого варианта, см. Мой ответ для деталей. – Heinzi