ErrObject.Raise(Int32, Object, Object, Object, Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Çalışma zamanı hatası oluşturur; deyimi yerine Error
kullanılabilir.
public void Raise (int Number, object? Source = default, object? Description = default, object? HelpFile = default, object? HelpContext = default);
public void Raise (int Number, object Source = default, object Description = default, object HelpFile = default, object HelpContext = default);
member this.Raise : int * obj * obj * obj * obj -> unit
Public Sub Raise (Number As Integer, Optional Source As Object = Nothing, Optional Description As Object = Nothing, Optional HelpFile As Object = Nothing, Optional HelpContext As Object = Nothing)
Parametreler
- Number
- Int32
Gereklidir. Long
hatanın doğasını tanımlayan tamsayı. Visual Basic hataları 0-65535 aralığındadır; 0-512 aralığı sistem hataları için ayrılmıştır; 513-65535 aralığı kullanıcı tanımlı hatalarda kullanılabilir. Bir sınıf modülünde Number
özelliği kendi hata kodunuza ayarlarken hata kodu numaranızı sabite vbObjectError
eklersiniz. Örneğin, 513 hata numarasını oluşturmak için özelliğine atayın vbObjectError + 513
Number
.
- Source
- Object
İsteğe bağlı. String
ifadesinde, hatayı oluşturan nesneyi veya uygulamayı adlandırın. Bir nesne için bu özelliği ayarlarken ,project
class
. Belirtilmezse Source
, geçerli Visual Basic projesinin işlem kimliği kullanılır.
- Description
- Object
İsteğe bağlı. String
hatasını açıklayan ifade. Belirtilmemişse, özelliğindeki Number
değer incelenmiş olur. Bir Visual Basic çalışma zamanı hata koduyla eşlenebiliyorsa, işlev tarafından Error
döndürülecek dize özelliği olarak Description
kullanılır. Özelliğine Number
karşılık gelen Bir Visual Basic hatası yoksa, "Uygulama tanımlı veya nesne tanımlı hata" iletisi kullanılır.
- HelpFile
- Object
İsteğe bağlı. Bu hatayla ilgili yardımın bulunabileceği Yardım dosyasının tam yolu. Belirtilmemişse, Visual Basic, Visual Basic Yardım dosyasının tam sürücüsünü, yolunu ve dosya adını kullanır.
- HelpContext
- Object
İsteğe bağlı. Hata için yardım sağlayan içindeki HelpFile
bir konuyu tanımlayan bağlam kimliği. Belirtilmezse, özelliğe karşılık gelen Number
hatanın Visual Basic Yardım dosyası bağlam kimliği (varsa) kullanılır.
Örnekler
Bu örnek, Visual Basic'te Raise
yazılmış bir işlev içinde hata oluşturmak için nesnesinin yöntemini kullanırErr
. Çağıran işlev hatayı yakalayabilir ve bir ileti kutusuyla kullanıcıya bildirebilir.
Module Module1
Const WidthErrorNumber As Integer = 1000
Const WidthHelpOffset As Object = 100
Sub Main()
CallingProcedure()
End Sub
Sub TestWidth(ByVal width As Integer)
If width > 1000 Then
' Replace HelpFile.hlp with the full path to an appropriate
' help file for the error. Notice that you add the error
' number you want to use to the vbObjectError constant.
' This assures that it will not conflict with a Visual
' Basic error.
Err.Raise(vbObjectError + WidthErrorNumber, "ConsoleApplication1.Module1.TestWidth",
"Width must be less than 1000.", "HelpFile.hlp", WidthHelpOffset)
End If
End Sub
Sub CallingProcedure()
Try
' The error is raised in TestWidth.
TestWidth(2000)
Catch ex As Exception
' The Err object can access a number of pieces of
' information about the error.
Console.WriteLine("Information available from Err object:")
Console.WriteLine(Err.Number)
Console.WriteLine(Err.Description)
Console.WriteLine(Err.Source)
Console.WriteLine(Err.HelpFile)
Console.WriteLine(Err.HelpContext)
Console.WriteLine(Err.GetException)
Console.WriteLine(vbCrLf & "Information available from Exception object:")
Console.WriteLine(ex.Message)
Console.WriteLine(ex.ToString)
Err.Clear()
End Try
End Sub
End Module
' The example produces the following output:
' Information available from Err object:
' -2147220504
' Width must be less than 1000.
' ConsoleApplication1.Module1.TestWidth
' HelpFile.hlp
' 100
' System.Exception: Width must be less than 1000.
' at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number, Object Source, Object
' Description, Object HelpFile, Object HelpContext)
' at ConsoleApplication1.Module1.TestWidth(Int32 width) in C:\Users\example\App
' Data\Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 17
' at ConsoleApplication1.Module1.CallingProcedure() in C:\Users\example\AppData
' \Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 25
'
' Information available from Exception object:
' Width must be less than 1000.
' System.Exception: Width must be less than 1000.
' at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number, Object Source, Object
' Description, Object HelpFile, Object HelpContext)
' at ConsoleApplication1.Module1.TestWidth(Int32 width) in C:\Users\example\App
' Data\Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 17
' at ConsoleApplication1.Module1.CallingProcedure() in C:\Users\example\AppData
' \Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 25
Açıklamalar
Raise
Dışındaki Number
tüm bağımsız değişkenler isteğe bağlıdır. İsteğe bağlı bağımsız değişkenleri atlarsanız ve nesnenin Err
özellik ayarları temizlenmemiş değerler içeriyorsa, bu değerler hatanızın değerleri olarak görev görür.
Err
nesnesi deyimiyle hata oluşturduğunuzdan daha zengin bilgiler verdiğindenError
, Raise
sınıf modülleri yazarken hata oluşturmak için kullanışlıdır. Örneğin, yöntemiyle Raise
, hatayı oluşturan kaynak özelliğinde Source
belirtilebilir, hata için çevrimiçi Yardım'a başvurulabilir vb.