我试图抛出一个自定义错误,我的"CustomError"类名称打印在控制台而不是"错误",但没有成功:
class CustomError extends Error {
constructor(message: string) {
super(`Lorem "${message}" ipsum dolor.`);
this.name = 'CustomError';
}
}
throw new CustomError('foo');
Run Code Online (Sandbox Code Playgroud)
输出是Uncaught Error: Lorem "foo" ipsum dolor.
我的期望:Uncaught CustomError: Lorem "foo" ipsum dolor.
我想知道是否只能使用TS来完成(没有搞乱JS原型)?
我正在玩PHP中的异常.例如,我有一个脚本读取$ _GET请求并加载文件; 如果该文件不存在,则应抛出新的异常:
if ( file_exists( $_SERVER['DOCUMENT_ROOT'] .'/'.$_GET['image'] ) ) {
// Something real amazing happens here.
}
else {
throw new Exception("The requested file does not exists.");
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试为测试提供不存在的文件时,我收到500错误而不是异常消息.服务器日志如下:
[09-Jul-2013 18:26:16 UTC] PHP Fatal error: Uncaught exception 'Exception' with message 'The requested file does not exists.' in C:\sites\wonderfulproject\script.php:40
Stack trace:
#0 {main}
thrown in C:\sites\wonderfulproject\script.php on line 40
Run Code Online (Sandbox Code Playgroud)
我想知道我是否遗漏了一些非常明显的东西.
我已经检查了这个问题PHP致命错误:未捕获异常'异常'的消息,但它不太像我的问题,并没有简明的答案.
请帮忙?
*编辑*
这似乎与throw关键字有关.如果我使用echo例如,我在屏幕上打印了消息,如下所示:
消息'文件不存在'的异常'异常'.在C:\ sites\wonderfulproject\script.php:183堆栈跟踪:#0 {main}
这是为什么?
**编辑2**
感谢@Orangepill,我对如何处理异常有了更好的理解.我从nettuts中找到了一个很棒的啧啧,这帮助了很多.链接:http: …
我正试图弄清楚如何使用Eloquent为列添加别名.
那么,换句话说,如何使用Eloquent执行以下mysql查询?
SELECT occupation AS test FROM users WHERE occupation = 'PIMP';
Run Code Online (Sandbox Code Playgroud)
谢谢!
我试图在不使用查询字符串的情况下检索 url 参数,例如,http://localhost:3000/test/1这是我到目前为止所拥有的:
目录结构
test
- [pageNumber].jsx
Run Code Online (Sandbox Code Playgroud)
索引.jsx
import React from 'react';
import { useRouter } from 'next/router';
const Index = () => {
const router = useRouter();
return (
<>
<h1>Page number: {router.query.pageNumber}</h1>
</>
);
};
export default Index;
Run Code Online (Sandbox Code Playgroud)
它可以工作,但如果我省略 pageNumber 参数,我得到的只是 404 页面,这是我们使用查询字符串时不存在的问题。
现在的问题是:是否可以在不创建额外的 index.jsx 页面和重复代码来处理空参数场景的情况下对此进行排序?
我一直在寻找一段时间,但我找不到足够好的答案.我决定为这种平台验证我的布局,但从未想过它们会如何出现在这种电视上.
所以我想知道SmarTV是否使用了一些现有的引擎,如Webkit,Mozilla,Presto,甚至Trident(希望不是),或者他们是否使用自己的引擎,至少对于以下制造商:
这些是我国最常见的.
非常感谢!
我正在尝试做一个简单的事情:将文件编码从任何东西更改为UTF-8而不使用BOM.我找到了几个执行此操作的脚本,唯一真正适合我的脚本就是这个:https://superuser.com/questions/397890/convert-text-files-recursively-to-utf-8-in-powershell#回答-397915.
它按预期工作,但我需要生成的文件没有BOM.所以我尝试稍微修改脚本,添加给出这个问题的解决方案:使用PowerShell以UTF-8编写一个没有BOM的文件
这是我的最终剧本:
foreach ($i in Get-ChildItem -Recurse) {
if ($i.PSIsContainer) {
continue
}
$dest = $i.Fullname.Replace($PWD, "some_folder")
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False)
if (!(Test-Path $(Split-Path $dest -Parent))) {
New-Item $(Split-Path $dest -Parent) -type Directory
}
get-content $i | out-file -encoding $Utf8NoBomEncoding -filepath $dest
}
Run Code Online (Sandbox Code Playgroud)
问题是,对于System.Text.UTF8Encoding($False)线路,powershell返回一个错误,抱怨参数不正确:
无法验证"编码"参数的参数.参数"System.Text.UTF8Encoding"不属于ValidateSet属性指定的组"unicode,utf7,utf8,utf32,ascii".
我想知道我是否遗漏了一些东西,比如powershell版本或类似的东西.我以前从未编写过Powershell脚本,所以我完全迷失了.而且我需要更改这些文件编码,其中有数百个,我不想一个接一个地自己做.
实际上我正在使用Windows 7附带的2.0版本.
提前致谢!
编辑1
我尝试了以下代码,由@LarsTruijens和其他帖子建议:
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False)
foreach ($i in Get-ChildItem -Recurse) {
if ($i.PSIsContainer) {
continue
}
$dest = $i.Fullname.Replace($PWD, "some_folder")
if (!(Test-Path …Run Code Online (Sandbox Code Playgroud) 无法理解为什么我应该使用Reflect.get(obj, 'foo')而不是obj['foo'],或为什么第一个是有用的,因为我们可以使用旧的和旧的对象括号表示法做同样的事情.有人可以详细说明吗?
var obj = {foo: 'bar'};
obj['foo'];
Reflect.get(obj, 'foo');
Run Code Online (Sandbox Code Playgroud) 在每个函数调用的基础上设置区域设置非常简单:
import { formatRelative, subDays } from 'date-fns'
import { ptBR } from 'date-fns/locale'
formatRelative(subDays(new Date(), 3), new Date(), { locale: ptBR })
Run Code Online (Sandbox Code Playgroud)
但是如何设置在应用程序范围内使用的默认区域设置?
在下面的示例代码中,isIntersecting总是true,可能是因为相交的主题是父对象本身。
有没有办法使用 IntersectionObserver 来检测两个盒子之间的相交/碰撞?
我们的想法是使用这个内置 API,因为每当任何框位置发生更改时都需要检查交叉点;在原始代码中,它们从一个位置转换到另一个位置,并在检测到碰撞时立即做出反应。例如,这将是轮询的一个有趣的替代方案。
任何想法都会很棒。
/** @type {HTMLDivElement[]} */
const elements = Array.from(document.getElementsByClassName('box'));
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
console.log(
`${entry.target.className} is overlapping with another element`
);
}
});
});
console.log('elements', elements);
elements.forEach((div) => observer.observe(div));Run Code Online (Sandbox Code Playgroud)
#container {
width: 150px;
height: 150px;
position: relative;
background-color: aqua;
}
.box {
width: 32px;
height: 32px;
border: 1px solid #333;
background-color: yellow;
position: absolute;
}Run Code Online (Sandbox Code Playgroud)
<div id="container">
<div class="box" style="left: 8px; …Run Code Online (Sandbox Code Playgroud)假设我<li>在可滚动 div 中有一个元素,并且滚动设置为在视口中显示该元素。
我需要得到该元素及其滚动母公司之间的距离,如上面的图片,但两者element.getBoundingClientRect().top并element.offsetTop给我错误的价值观。可以做到吗?
我做了一支笔,让事情变得简单一点:
http://codepen.io/Darksoulsong/pen/LbYMex
我的一段代码:
document.addEventListener("DOMContentLoaded", function(event) {
var selectedEl = document.getElementById('consequatur-51');
var selectedElRect = selectedEl.getBoundingClientRect();
var sidebar = document.getElementById('sidebar');
sidebar.scrollTop = selectedEl.offsetTop - 60;
document.getElementById('offsetTop').innerText = selectedEl.offsetTop;
document.getElementById('rectTop').innerText = selectedElRect.top;
});
Run Code Online (Sandbox Code Playgroud) javascript ×5
alias ×1
batch-file ×1
browser ×1
date-fns ×1
eloquent ×1
encoding ×1
exception ×1
html ×1
laravel ×1
laravel-3 ×1
next.js ×1
php ×1
powershell ×1
reactjs ×1
reflection ×1
select ×1
smart-tv ×1
throw ×1
typescript ×1
utf-8 ×1