Типы ссылок по умолчанию равны null, чтобы указать, что они не ссылаются на какой-либо объект. Следовательно, если вы попытаетесь получить доступ к объекту, на который ссылаетесь, а его нет, вы получите исключение NullReferenceException.
Для Ex:
SqlConnection connection = null;
connection.Open();
Когда вы запускаете это кода, вы получите:
System.NullReferenceException: Object reference not set to an instance of an object.
Вы можете избежать этой ошибки, например, следующим образом:
if (connection != null){
connection.Open();
}
Примечание. Чтобы избежать этой ошибки, вы всегда должны инициализировать свои объекты прежде чем пытаться что-либо сделать с ними.
Я не вижу, как вы можете прямо установить один обработчик для всех сигналов. Однако вы можете получить справедливо закройте с помощью sigfillset()
, чтобы сгенерировать набор, содержащий все допустимые номера сигналов, а затем перебрать возможные номера сигналов с помощью sigismember()
, чтобы определить, находится ли это число в наборе и, если да, установите обработчик. Хорошо, я не вижу метода определения того, что такое максимально возможный номер сигнала, поэтому вам, возможно, придется угадать подходящее максимальное значение.
Параметр «signum» системного вызова «sigaction» представляет собой целочисленное значение, которое не работает как флаг.
Насколько я знаю, нет способа назначить одну функцию обработчика для нескольких сигналов за один вызов.