在我的iOS(iPhone/cocos2d)项目中,我发现我自己抛出的异常不会导致应用程序终止(它们只会导致当前函数退出,这会导致奇怪的半冻结行为).例如,以下代码导致崩溃:
NSArray* testArray = [NSArray arrayWithObjects:@"One", @"Two", @"Three", nil];
[testArray objectAtIndex:400];
Run Code Online (Sandbox Code Playgroud)
当我运行该代码时,我在控制台中得到以下内容,正如我所期望的那样:
2011-06-07 12:55:20.421 mansion-iphone[38184:207] *** Terminating app due to
uncaught exception 'NSRangeException', reason: '*** -[NSArray
objectAtIndex:]: index 400 beyond bounds [0 .. 2]'
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试引发异常(例如来自断言),除非我启用了"停止Objective-C异常",否则我会得到半冻结.这对我来说很好,但是当我的测试人员报告问题时会导致问题 - 因为应用程序没有崩溃,他们没有崩溃日志来发送给我.这是一个不起作用的异常示例:
NSException* e = [NSException exceptionWithName:NSInternalInconsistencyException
reason:[NSString stringWithFormat:@"%s %@", __PRETTY_FUNCTION__,
[NSString stringWithFormat:@"Invalid argument"]] userInfo:nil];
[e raise];
Run Code Online (Sandbox Code Playgroud)
关闭"停止Objective-C异常",这甚至不会向控制台发出消息 - 使用NSAssert会给我一个控制台消息,但仍然没有停止.因此,似乎Cocoa类生成的异常行为正确,但源自我的代码的异常不是.
我检查了我的代码和cocos2d,但没有发现任何似乎阻止异常的@try块; 有谁有想法?
我正在编写一个Android应用程序,它将资产中的文件复制到设备驱动器上的一个文件中(没有权限问题,字节从资产到驱动器).我需要复制的文件大于1 MB,因此我将其拆分为多个文件,然后将其复制为:
try {
out = new FileOutputStream(destination);
for (InputStream file : files /* InputStreams from assets */) {
copyFile(file);
file.close();
}
out.close();
System.out.println(bytesCopied); // shows 8716288
System.out.println(new File(destination).length()); // shows 8749056
} catch (IOException e) {
Log.e("ERROR", "Cannot copy file.");
return;
}
Run Code Online (Sandbox Code Playgroud)
然后,copyFile()方法:
private void copyFile(InputStream file) throws IOException {
byte[] buffer = new byte[16384];
int length;
while ((length = file.read(buffer)) > 0) {
out.write(buffer);
bytesCopied += length;
out.flush();
}
}
Run Code Online (Sandbox Code Playgroud)
目标文件应包含的正确字节数是8716288(这是我查看原始文件时获得的,如果我计算Android应用程序中的写入字节数),但new File(destination).length()显示为8749056.
我究竟做错了什么?
我知道对此的修复可能相当容易,但我如何才能获得一行HTML看起来像这样:
22 West Washngton St.
Northbrook,IL 39492
代替:
西华盛顿街22号
Northbrook,IL 39492
基本上,我如何在我的文本行之间消除这个空间?我目前<p>在两个单独的标签上都使用标签.如果我将它们放在同一个<p>标签中,它们只是排列在一起.
是否可以在定义后删除PHP中的类?例如:
class Test { }
<something>('Test');
$test = new Test(); // <- not working because there is no class "Test"
Run Code Online (Sandbox Code Playgroud) 我可以将它传递给后释放C字符串[NSString stringWithFormat:]用%s?例如:
char *str = malloc(...);
// ... populate str ...
NSString *message = [NSString stringWithFormat:@"[%s]", str];
free(str); // should this be here, or after I'm done with message?
Run Code Online (Sandbox Code Playgroud) 简短介绍:
我有一个表t1( id(mediumint), string(varchar(45) )都属于主键.
我需要在这个表中找到5个字符串,比方说.这个表就像5M +行.
什么会更快?
一个查询使用IN():
SELECT id, string FROM t1 WHERE string IN (value1,value2,...,value5)
Run Code Online (Sandbox Code Playgroud)
要么
五个查询,每个值一个:
SELECT id, string FROM t1 WHERE string = value1
SELECT id, string FROM t1 WHERE string = value2
'
'
SELECT id, string FROM t1 WHERE string = value5
Run Code Online (Sandbox Code Playgroud)应用程序服务器和数据库服务器将位于同一网络(100Mbit或1Gbit,尚未确定),而不是在同一台计算机上.
我有像这样的HTML元素.
<div id="A">
<div id="B"></div>
<div id="C"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
"B"和"C"都有子元素.对于"B",其高度是动态的,基于其内容.现在,我想将"C"的高度设置为"A"的高度减去"B"的高度.有谁知道如何通过CSS做到这一点?
有什么方法可以防止用户覆盖本机功能?
例:
var getRand;
(function(){
'use strict';
getRand = function(){
return Math.random();
}
})();
getRand(); //gives a nice random number
Run Code Online (Sandbox Code Playgroud)
页面加载后,在控制台中覆盖。
Math.random = function (){ return 0 };
getRand(); //gives 0 :(
Run Code Online (Sandbox Code Playgroud)
有什么方法可以防止本机函数被覆盖?也许使用CSP或密封对象...这甚至可能吗?
我正在浏览 elixir 项目代码库,遇到以下问题,请帮我看看匹配操作在函数参数中正在做什么?
{ result, errors } = validate(schema, data, "", data)
Run Code Online (Sandbox Code Playgroud)
def validate(root = %{ custom: validator }, data, path, full_data) when is_function(validator) do
{ result, errors } = if Map.has_key?(root, :type), do: validate( Map.drop(root, [:custom]) , data, path ), else: { data, [] }
case validator.(full_data, result, path) do
{ :ok, value } -> { value, errors }
{ :error, error } -> { result, errors ++ [ %{ param: path, code: :validation_error, message: error } ] } …Run Code Online (Sandbox Code Playgroud) css ×2
ios ×2
objective-c ×2
android ×1
c ×1
elixir ×1
exception ×1
html ×1
iphone ×1
java ×1
javascript ×1
mysql ×1
native ×1
nsstring ×1
performance ×1
php ×1
reflection ×1
security ×1
uitableview ×1