À medida que os navegadores implementam novas APIs, a verdade é que, embora as APIs ofereçam mais poder, eu diria que elas trazem mais volatilidade. Não importa se o problema é a API ou se estamos tentando usá-la, o senhor está fadado a encontrar erros que podem quebrar partes do seu aplicativo. Que porcaria. E um bloco try/catch em toda parte? Que horror. É por isso que eu uso um attempt nesses casos: ela mantém o código mais limpo e com menos efeitos colaterais.


O JavaScript


O que faremos é essencialmente chamar a função para o usuário, capturando qualquer porcaria que apareça:



function attempt(fn, args, binding) {
	try {
		return fn.apply(binding, args);
	} catch(e) {
		console.log('Exception, fix me please', e);
	}
}

// Use it!
attempt(function() {
	/* volatile stuff */
}, ['argOne', someVar], this);


Forneça a função, os argumentos e a vinculação e o senhor estará pronto. O senhor pode usar funções anônimas, funções nomeadas, o que quiser. E o senhor não precisa adicionar seus próprios blocos try/catch em todos os lugares. Não há nada de inovador no código acima, mas ele é seguro e fácil!

  • 6 coisas que o senhor não sabia sobre o Firefox OS

    Firefox OS está em todas as notícias de tecnologia e por um bom motivo: A Mozilla finalmente deu aos desenvolvedores da Web a plataforma de que precisam para criar aplicativos da maneira como os criam há anos: com CSS, HTML e JavaScript. O Firefox OS tem se aprimorado rapidamente…

  • Como criar efeitos de paralaxe de rolagem com CSS

    Introdução Há muito tempo, os sites com o chamado efeito “parallax” são muito populares… Caso o senhor não tenha ouvido falar desse efeito, ele basicamente inclui diferentes camadas de imagens que se movem em diferentes direções ou com diferentes velocidades. Isso leva a uma…

  • MooTools onLoad SmoothScrolling

    O SmoothScroll é um plug-in fantástico do MooTools, mas a rolagem suave só ocorre quando a âncora está na mesma página. Fazer com que o SmoothScroll funcione em várias páginas é tão fácil quanto algumas linhas extras do MooTools e uma variável querystring.

  • Adicionando eventos a Adicionar eventos no MooTools

    Observação: esta postagem foi atualizada. Uma das minhas maiores irritações na Web é quando um elemento tem eventos de clique anexados a ele, mas o elemento não exibe o cursor do “ponteiro”. Quero dizer, como diabos o usuário deve saber que pode/deve clicar em…