vorrei iniziare a mettere le istruzioni Try e Catch nel codice dei miei programmi, ma non so bene come funzionino.
ho capito che con il try si dice al sistema di provare a fare una cosa e nel catch intercetti l'eccezione (riassunto per gli ignoranti come me)
Adesso il mio dubbio è, io ho una progetto in windows form, da ignorante che sono ho messo tutto il codice dietro la form, tranne una parte di codice che serve per fare un upload su un server FTP che ho messo in una classe esterna chiamata classe1.cs
non chiedetemi perché!! ho trovato la soluzione in internet, la ho provata e funziona
solo che la classe era priva di try e catch e provando il programma non in rete mi è andato in errore sulla connessione FTP.
allora ho detto inserisco le istruzioni try e catch e con mio stupore ha funzionato al primo colpo, però come faccio a restituire l'errore al form che ha richiamato la mia classe?
riporto sotto la parte di codice interessata presente nella classe Classe1.cs
- Codice: Seleziona tutto
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Renci.SshNet;
using System.IO;
namespace PIPPO
{
class sftp
{
public static void UploadSFTPFile(string host, string username,
string password, string sourcefile, string destinationpath, int port)
{
using (SftpClient client = new SftpClient(host, port, username, password))
{
try
{
client.Connect();
}
catch
{
return; ---- in questo punto vorrei restituire al form che ha richiamato la mia funzione un errore, che poi intercetterò e scriverò in una listbox
}
client.ChangeDirectory(destinationpath);
using (FileStream fs = new FileStream(sourcefile, FileMode.Open))
{
client.BufferSize = 4 * 1024;
client.UploadFile(fs, Path.GetFileName(sourcefile));
}
}
}
}
}