Чтобы быть пойманным, NullReferenceException
должен быть первым в списке вылова.
try {
...
} catch (NullReferenceException ex) {
....
} catch (Exception ex) {
...
}
Это указывает, что вы хотите обрабатывать NullReferenceException
особым образом, с которым у вас есть что-то конкретное. Затем, позволяя другим типам исключений попадать в самый общий улов. С другой стороны, следует избегать неспецифической обработки исключений, поскольку эта статья MSDN предлагает: Exception Handling
.
Кроме того, лучше проверить, является ли объект, к которому осуществляется доступ, нулевым (Ничто в Visual Basic), прежде чем пытаться получить к нему доступ, вместо того, чтобы позволить коду обращаться к объекту и выдавать это исключение, когда оно нулевое. Вот полезная ссылка по этому вопросу: Exception Handling Best Practices in .NET
.