private void WriteCatchClause(CodeCatchClause clause) { writer.Write(" "); writer.Write("catch"); if (clause.CatchExceptionType != null) { writer.Write(" ("); expWriter.VisitTypeReference(clause.CatchExceptionType); if (!string.IsNullOrEmpty(clause.LocalName)) { writer.Write(" "); writer.WriteName(clause.LocalName); } writer.Write(")"); } WriteStatements(clause.Statements); }
public CodeCatchClause CatchClause(string localName, CodeTypeReference type, Action generateClauseBody) { var clause = new CodeCatchClause(localName, type); var oldScope = Scope; Scope = clause.Statements; generateClauseBody(); Scope = oldScope; return clause; }