我有以下代码:
catch(Exception ex)
{
throw new FatalException("An error occurred while trying to load the XSLT file.", ex);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这只是吞噬了异常.我可以通过执行以下操作来解决此问题:
catch(Exception ex)
{
throw;
}
Run Code Online (Sandbox Code Playgroud)
但我仍然希望包含自定义消息以获取有关事件记录的帮助.
如何在不丢失任何信息的情况下将此消息添加到异常中?(堆栈跟踪/调试符号等)
System.FormatException当我尝试执行以下操作时,我会得到一个(例如):
TimeSpan ts = XmlConvert.ToTimeSpan("P72H");
Run Code Online (Sandbox Code Playgroud)
我已经调查了ISO8601标准,它似乎是正确的,但无论我做什么,我都无法解析它而不会抛出异常.
谢谢!
编辑:
例外细节:
System.FormatException was unhandled by user code
HResult=-2146233033
Message=The string 'P72H' is not a valid TimeSpan value.
Source=System.Xml
Run Code Online (Sandbox Code Playgroud) 我很好奇以下是什么行为:
FileInfo info = new FileInfo("C:/testfile.txt.gz");
string ext = info.Extension;
Run Code Online (Sandbox Code Playgroud)
这会返回".txt.gz"还是".gz"?
更多扩展的行为是什么,例如".txt.gz.zip"或类似的东西?
编辑:
要清楚,我已经测试了这个.我想要解释一下这个属性.
我目前正在尝试单独测试我正在使用OWIN进行身份验证的新WebAPI项目的身份验证,并且我在单元测试上下文中运行它时遇到问题.
这是我的测试方法:
[TestMethod]
public void TestRegister()
{
using (WebApp.Start<Startup>("localhost/myAPI"))
using (AccountController ac = new AccountController()
{
Request = new System.Net.Http.HttpRequestMessage
(HttpMethod.Post, "http://localhost/myAPI/api/Account/Register")
})
{
var result = ac.Register(new Models.RegisterBindingModel()
{
Email = "testemail@testemail.com",
Password = "Pass@word1",
ConfirmPassword = "Pass@word1"
}).Result;
Assert.IsNotNull(result);
}
}
Run Code Online (Sandbox Code Playgroud)
我发现了一个AggregateException关于获得.Result具有以下内部异常:
Result Message:
Test method myAPI.Tests.Controllers.AccountControllerTest.TestRegister
threw exception:
System.ArgumentNullException: Value cannot be null.
Parameter name: context
Result StackTrace:
at Microsoft.AspNet.Identity.Owin.OwinContextExtensions
.GetUserManager[TManager](IOwinContext context)
at myAPI.Controllers.AccountController.get_UserManager()
...
Run Code Online (Sandbox Code Playgroud)
我通过调试确认我的Startup方法被调用,调用ConfigurAuth:
public void ConfigureAuth(IAppBuilder …Run Code Online (Sandbox Code Playgroud) authentication asp.net-mvc unit-testing asp.net-web-api owin
如果我在MERGE语句中有多个WHEN MATCHED语句,如果它们是真的,它们都会执行吗?
我的例子:
DECLARE @X bit = NULL;
--skipping the MERGE statement, straight to WHEN MATCHED
WHEN MATCHED AND A = 1
@X = 0;
WHEN MATCHED AND B = 1
@X = 1;
Run Code Online (Sandbox Code Playgroud)
在4种可能性中,X的状态是什么?
A|B|X
0|0|?
0|1|?
1|0|?
1|1|?
Run Code Online (Sandbox Code Playgroud)
基本上,我很好奇每个WHEN MATCHED条款后是否有隐含的BREAK.
我有一个File.Delete像我这样的最终条款:
finally
{
//remove the temporary file
if(File.Exists(transformedFile))
File.Delete(transformedFile);
}
Run Code Online (Sandbox Code Playgroud)
根据C#文档,在不存在的文件上调用File.Delete不会抛出任何异常.
是否可以删除File.Exists包装,或者是否会使我遇到可能的其他异常?
我需要从T-SQL中的SELECT语句中过滤掉(删除)扩展的ASCII字符.
我正在使用存储过程来执行此操作.
预期投入:
ËËËËeeeeËËËË
Run Code Online (Sandbox Code Playgroud)
预期产量:
eeee
Run Code Online (Sandbox Code Playgroud)
我发现的所有内容都是针对MySQL的.
我正在使用 :
Microsoft SQL Server Management Studio 11.0.2100.60
Microsoft .NET Framework 4.0.30319.17929
Run Code Online (Sandbox Code Playgroud) 我正在使用XmlReader检索使用SqlCommand.ExecuteXmlReader.
当我运行这行代码时:
XDocument currentXDoc = XDocument.Load(ktXmlReader.ReadSubtree());
Run Code Online (Sandbox Code Playgroud)
它是第一次工作,按预期读取第一个Product节点.
第二次运行时,我得到以下异常:
System.Xml.XmlException:
Message: Unexpected end of file while parsing Name has occurred. Line 1, position 2048.
Stacktrace: at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
at System.Xml.XmlTextReaderImpl.ParseQName(Boolean isQName, Int32 startOffset, Int32& colonPos)
at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag)
at System.Xml.XmlTextReaderImpl.ParseEndElement()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlSubtreeReader.Read()
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
Run Code Online (Sandbox Code Playgroud)
我确实发现了这个问题,这个问题与我的相似,但我很确定我的XML格式正确(我可以直接从运行的sproc中获取)
我的想法到目前为止:
XDocument或某处遇到了2KB的限制XmlReader吗?我想构建一个在锁屏上可见的对话框,可以接收触摸事件.我构建了一个窗口,WindowManager但只有TYPE_SYSTEM_OVERLAY标志显示在GB(Android 2.3.7)的锁屏上.
有没有办法创建一个在锁屏上可见的系统覆盖,并可以在Android 2.3.7中接收触摸事件?
有一个错误,FLAG_WATCH_OUTSIDE_TOUCH但我不确定这对我有什么影响.有任何想法吗?
c# ×6
exception ×2
sql ×2
sql-server ×2
string ×2
t-sql ×2
xml ×2
android ×1
ascii ×1
asp.net-mvc ×1
database ×1
datetime ×1
file ×1
fileinfo ×1
io ×1
linq ×1
linq-to-xml ×1
merge ×1
overlay ×1
owin ×1
parsing ×1
regex ×1
unit-testing ×1
xml-parsing ×1
xmlreader ×1