Q1: в C # необходимо использовать System.Console.xxx для доступа к потокам для ввода, вывода и ошибок: System.Console.Error - это стандартная ошибка, в которую вы можете записать.
http://msdn.microsoft.com/en-us/library/system.console.aspx
Q2: вы выходите с:
System.Environment.Exit( exitCode );
http://msdn.microsoft.com/en-us/library/system.environment.exit.aspx
Q3: Да, программисты на C # вызывают (генерируют) исключения (объекты классов, производных от класса Exception) и отлавливают их в вызывающих программах верхнего уровня.
Если вы хотите отлавливать ошибки во всей программе, вы просто инкапсулируете всю процедуру main () в try ... catch:
class App {
public static void Main(String[] args)
{
try {
<your code here>
} catch(Exception exc) {
<exception handling here>
}
finally {
<clean up, when needed, here>
}
}
}
Надеюсь, это поможет.