Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    [microsoft chart control]intercettare errori

    Nell'esempio di sotto, genero sicuramente un errore, perchè cerco di fare una cosa non permessa, ossia, unire un grafico Spline ad un grafico a torta.

    La domanda è: perchè non riesco a intercettare l'errore? sembra che il blocco Try-Catch non funzioni. :master:

    ciao

    codice:
    <%@ Page Language="VB" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
            Try
                creaChart()
    
            Catch ex As Exception
    
            End Try
        End Sub
    
        Protected Sub creaChart()
            Dim c As New Chart()
            c.ID = "Chart1"
    
            Dim a As New ChartArea("ChartArea1")
            c.ChartAreas.Add(a)
    
            Dim s As New Series("Series1")
            c.Series.Add(s)
            s.ChartType = SeriesChartType.Pie
    
            'databind
            BindData(s)
    
            
            'creo nuova serie
            Dim s1 As New Series("Spline")
            s1.ChartType = SeriesChartType.Spline
            s1.BorderWidth = 3
    
            For i As Integer = 0 To s.Points.Count - 1
                s1.Points.AddY(s.Points(i).YValues(0))
            Next
            c.Series.Add(s1)
    
    
            Me.PlaceHolder1.Controls.Clear()
            Me.PlaceHolder1.Controls.Add(c)
    
        End Sub
        
        Protected Sub BindData(ByVal s As Series)
            s.Points.AddXY("Aaron", 10440)
            s.Points.AddXY("Larry", 17772)
            s.Points.AddXY("Andrew", 23880)
            s.Points.AddXY("Mary", 7663)
            s.Points.AddXY("Sally", 21773)
            s.Points.AddXY("Nguyen", 32294)
            s.Points.AddXY("Francis", 11983)
            s.Points.AddXY("Jerry", 14991)
        End Sub
    
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:LinkButton ID="LinkButton1" runat="server">Refresh</asp:LinkButton>
            
    
    
            <asp:PlaceHolder ID="PlaceHolder1" runat="server" EnableViewState="false"></asp:PlaceHolder>
        </div>
        </form>
    </body>
    </html>
    Pietro

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da luigiamorfini
    codice:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
            Try
                creaChart()
    
            Catch ex As Exception
    
            End Try
        End Sub
    Prima di tutto di dico che non so nulla di grafici e di questo componente.
    Il tuo problema perchè forse . non hai scritto il richiamo dentro il catch.

    Me.lblmsg.Text = "" & ex.tostring & ""
    forse in vb.net si fà cosi. poi non lo so . io faccio in c#.

    tu controlla se percaso è quello che non viene elaborato.

    ciao.
    buona giornata.
    Ciao. Tu sa benissimo che se non si trova niente dentro il blocco Catch, l'errore viene intercettato ma non si verifica niente, ossia è come se dessi l'istruzione "Ignora l'errore".

    Il fatto che si parli di questo componente poi, è un po' secondario. Potrebbe essere benissimo un altro componente. Ho provato a gestire l'evento Page_onerror, e va. Ma non è esattamente questo che vorrei. Ciao.
    Pietro

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da luigiamorfini
    ok. provalo ad metterlo nella sub di creaChart, perchè quello che di dicevo era per la page_load non della funzione che hai fatto tu.

    prova ad mettere try e catch nella funziona creata da te.

    ciao.
    Ebbene, sappiamo che se si verifica un errore in una procedura, l'eccezione risale lo stack delle chiamate, fino a che non trova una procedura che voglia gestire l'errore.

    Se l'errore si verifica in creaChart, l'eccezione la catturo nella procedura chiamante. Ma in questo caso non avviene :master: ed è qui il problema.

    Naturalmente, ho provato il tuo suggerimento..., ma niente

    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.