有没有一种方法可以处理类继承引发的异常



我有一个自定义类,它继承了另一个类。父类在特定场景中引发System.NullReferenceException。此时无法编辑父类代码。

我的代码非常精简。

Public Class childClass
Inherits parentClass
'some additional variables declared...
Private oSite As New parentClass
'Following class variables, the functions are declared.
End Class

有没有一种方法可以处理MyBaseClass的运行时错误?

事实上,我去掉了所有函数和其他变量来确定错误的位置,这就是继承。

您可以使用Shadows将有问题的函数包装在try-catch中:

Module Module1
Sub Main()
Dim c As New Childclass
Console.WriteLine(c.DodgyFunction) 'works
Console.WriteLine("(press a key to continue)")
Console.ReadKey()
Dim p As New ParentClass
Console.WriteLine(p.DodgyFunction) 'crashes
Console.ReadKey()
End Sub
Public Class ParentClass
Public Function DodgyFunction() As String
Throw New InvalidOperationException("Exception in parent class")
End Function
End Class
Public Class Childclass
Inherits ParentClass
Public Shadows Function DodgyFunction() As String
Try
Return MyBase.DodgyFunction()
Catch ex As Exception
Return "No exception!"
End Try
End Function
End Class
End Module

不过,最好的做法是在父类中解决这个问题。

最新更新