我正在使用一个API,它给了我一个CFStreamError
(据说已被弃用,但Apple自己显然不在乎。)
我知道一些值,我当然可以编写多个嵌套的switch语句来将我所知道的所有值转换为字符串,但是会有我不知道的值。
是否有一些方便的方法来获取错误信息?我不关心它是否已本地化,因为它最终只会在我们的日志中结束。
答案 0 :(得分:0)
处理错误的'旧',前NSError方式通常涉及应该由应用程序(即开发人员)内部使用的返回代码,而不是用于呈现给用户。
对于较新的API,返回的NSError
实际上包含要呈现给用户的信息(如果适用)。
至于CFStreamError
-
CocoaDev上有一个关于使CFStreamError
人类可读的条目:
http://cocoadev.com/CFStreamErrorCodes
基本上它涉及从CFStream Error Domain Constants手动检查各种错误域。
可以在Macnetworkprog邮件列表的this post中找到开发人员技术支持的更多信息。
答案 1 :(得分:0)
这适用于POSIX域错误:
[HttpPost]
public IActionResult Create(CampgroundDetails campgroundDetails)
{
if (ModelState.IsValid)
{
string filePath = UploadFile(campgroundDetails);
using (SqlConnection connection = new SqlConnection(ConnectionString.DBCS))
{
using (SqlCommand command = new SqlCommand("sp_InsertNewCampground", connection))
{
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@CampgroundName", campgroundDetails.CampgroundName);
command.Parameters.AddWithValue("@State", campgroundDetails.State);
command.Parameters.AddWithValue("@Peak", campgroundDetails.Peak);
command.Parameters.AddWithValue("@SeasonDateFrom", campgroundDetails.SeasonDateFrom);
command.Parameters.AddWithValue("@SeasonDateTo", campgroundDetails.SeasonDateTo);
command.Parameters.AddWithValue("@NaturalFeatures", campgroundDetails.NaturalFeatures ?? "");
command.Parameters.AddWithValue("@Recreation", campgroundDetails.Recreation ?? "");
command.Parameters.AddWithValue("@Facilities", campgroundDetails.Facilities ?? "");
command.Parameters.AddWithValue("@ImagePath", filePath);
command.Parameters.AddWithValue("@Overview", campgroundDetails.Overview);
if (connection.State == ConnectionState.Closed)
connection.Open();
command.ExecuteNonQuery();
}
}
return RedirectToAction("index", "home");
}
return View();
}
例如:
2020-01-31 09:58:02.996603-0800等等void CFWriteStreamCB(CFWriteStreamRef _Null_unspecified,CFStreamEventType,void * _Null_unspecified):26 POSIX错误:操作超时