.net 如何使用net Core控制台捕获错误
我需要一个控制台应用程序。在以.csv结尾的文件的html页面列中,它将找到src并获得src中的链接。然后它将在此链接上发出请求。如果出现错误,它将在链接旁边打印404。如果链接正在工作,它将写入状态代码。然后它会给我这个作为输出的txt文件。我该怎么做?有人能帮忙吗 我写的几段代码:.net 如何使用net Core控制台捕获错误,.net,.net,我需要一个控制台应用程序。在以.csv结尾的文件的html页面列中,它将找到src并获得src中的链接。然后它将在此链接上发出请求。如果出现错误,它将在链接旁边打印404。如果链接正在工作,它将写入状态代码。然后它会给我这个作为输出的txt文件。我该怎么做?有人能帮忙吗 我写的几段代码: using System.Configuration; using System.Diagnostics.Tracing; using System.IO; using System.Linq; using M
using System.Configuration;
using System.Diagnostics.Tracing;
using System.IO;
using System.Linq;
using Microsoft.Extensions.Configuration;
using StreamWriter = System.IO.StreamWriter;
namespace Csv.Status
{
class Program
{
private static string corrupted;
private static string modify;
static void Main(string[] args)
{
var appSettings = ConfigurationManager.AppSettings;
corrupted = appSettings["Status"];
modify = appSettings["Modify"];
DirectoryInfo startDir = new DirectoryInfo(corrupted);
RecurseFileStructure recurseFileStructure = new RecurseFileStructure();
recurseFileStructure.TraverseDirectory(startDir);
}
public class RecurseFileStructure
{
public void TraverseDirectory(DirectoryInfo directoryInfo)
{
var subdirectories = directoryInfo.EnumerateDirectories();
foreach (var subdirectory in subdirectories)
{
TraverseDirectory(subdirectory);
}
var files = directoryInfo.EnumerateFiles();
int counter = 0;
foreach (var file in files)
{
if (file.Name.EndsWith(".csv"))
{
counter += 1;
var percentage = (counter * 100) / files.Count();
HandleFile(file);
Console.WriteLine("%" + percentage + " of files is done.");
}
}
}
void HandleFile(FileInfo file)
{
Console.WriteLine("{0}", file.Name);
try
{
string[] lines = File.ReadAllLines(corrupted + file.Name);
using (StreamWriter writer = new StreamWriter(modify + file.Name))
{
Console.WriteLine("Process has started...");
for (int i = 1; i < lines.Length - 1; i++)
{
if (lines[i].Contains("src="))
{
var percentage = (i * 100) / lines.Count();
Console.WriteLine(i + "th line was corrupted at %" + percentage + " and recovered.");
// işlemler burada gerçekleşecek.
lines[i] = lines[i].
}
writer.WriteLine(lines[i]);
}
Console.WriteLine("Fully healed.");
writer.Flush();
}
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
}
}
}
}
使用系统配置;
使用System.Diagnostics.Tracing;
使用System.IO;
使用System.Linq;
使用Microsoft.Extensions.Configuration;
使用StreamWriter=System.IO.StreamWriter;
名称空间Csv.Status
{
班级计划
{
私有静态字符串损坏;
私有静态字符串修改;
静态void Main(字符串[]参数)
{
var-appSettings=ConfigurationManager.appSettings;
损坏=应用设置[“状态”];
修改=应用设置[“修改”];
DirectoryInfo startDir=新的DirectoryInfo(已损坏);
RecurseFileStructure RecurseFileStructure=新的RecurseFileStructure();
递归结构.遍历目录(startDir);
}
公共类递归结构
{
公共void遍历目录(DirectoryInfo DirectoryInfo)
{
var subdirectories=directoryInfo.EnumerateDirectories();
foreach(子目录中的var子目录)
{
遍历目录(子目录);
}
var files=directoryInfo.EnumerateFiles();
int计数器=0;
foreach(文件中的var文件)
{
if(file.Name.EndsWith(“.csv”))
{
计数器+=1;
变量百分比=(计数器*100)/files.Count();
HandleFile(文件);
Console.WriteLine(“%”+文件完成百分比+”);
}
}
}
void HandleFile(FileInfo文件)
{
Console.WriteLine(“{0}”,file.Name);
尝试
{
字符串[]行=File.ReadAllLines(损坏+File.Name);
使用(StreamWriter=newstreamwriter(modify+file.Name))
{
WriteLine(“进程已启动…”);
对于(int i=1;i
致意。对不起,我不明白这个问题:您如何才能完成您的要求?您编写的代码有什么问题,具体需要哪些帮助?只是把试捕转移到你能从中恢复过来的地方?404有什么错误吗?@Rup嗨,先生。示例src=”“。此页面具有404状态<代码>变量百分比=(i*100)/lines.Count();Console.WriteLine(i+“第行在%”+百分比+“处损坏并已恢复。”);//伊莱姆勒·布拉达·杰克勒·埃塞克。lines[i]=lines[i]。在此代码中,404页面将被捕获,它将为我提供404状态或其他状态作为输出。