Try and catch very slow

ok so i have mapNodes[x,z] on a grid the GameObject node[x,z] stores the MapNode[x,z] script . This works however it is extremly slow, why?
public void findAllAdjacentNodes(){

for (int x = 0 ; x < mapWidth ; x++)
	{		
		for (int z = 0 ; z< mapHeight ; z++)
		{

try{

mapNodes[x,z].northNode = mapNodes[x,z+1];
}
catch{}

try{

mapNodes[x,z].southNode = mapNodes[x,z-1];
}
catch{}

try{

mapNodes[x,z].eastNode = mapNodes[x+1,z];
}
catch{}

try{

mapNodes[x,z].westNode = mapNodes[x-1,z];
} catch{}

		}
	}
}

Try and catch statements are not slow. Period.

Exception handling is done in the CLR and is one of the faster operations in c#.

With that said you have way too many of them. I suggest starting with an introduction to programming since its clear you’re not familiar with using them. Once you understand the concept more, solving this issue will be a breeze and you’ll be better off for it.

Good luck.