ok ma quello che nn ho capito è: mi basta levare il sotto try/catch?
perchè ad esempio in java faccio una cosa del genere:
codice:
public void select() throws ClassNotFoundException, SQLException, IOException {
        ArrayList<String> list = null;
        conn = DBManager.getInstance().takeConnection();
        CallableStatement cstmt = conn.prepareCall("{ CALL getBook() }");
        ResultSet rs = cstmt.executeQuery();
        while (rs.next()) {
            list = new ArrayList<String>();
            list.add(String.valueOf(rs.getInt("book_id")));
            list.add(rs.getString("title"));
            list.add(rs.getString("author_name"));
            list.add(rs.getString("editor_name"));
            list.add(String.valueOf(rs.getDouble("price")));
            list.add(rs.getString("isbn"));
            list.add(rs.getString("note"));
            ((DefaultTableModel) FormMain.getTable().getModel()).addRow(list.toArray());
        }
        cstmt.close();
    }
e poi nella parte grafica piazzo i try/catch.
ma in c# questo nn si può fare se nn sbaglio.