Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(159)

Side by Side Diff: utils/pub/pub.dart

Issue 14253005: Migrate pub away from throwing strings. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « utils/pub/io.dart ('k') | utils/pub/pubspec.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /// The main entrypoint for the pub command line application. 5 /// The main entrypoint for the pub command line application.
6 library pub; 6 library pub;
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:io'; 9 import 'dart:io';
10 import 'dart:math'; 10 import 'dart:math';
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 // base Exception type so there's no easy way to know if it's available 252 // base Exception type so there's no easy way to know if it's available
253 // short of a giant pile of type tests for each known exception type. 253 // short of a giant pile of type tests for each known exception type.
254 // 254 //
255 // So just try it. If it throws, default to toString(). 255 // So just try it. If it throws, default to toString().
256 message = error.message; 256 message = error.message;
257 } on NoSuchMethodError catch (_) { 257 } on NoSuchMethodError catch (_) {
258 message = error.toString(); 258 message = error.toString();
259 } 259 }
260 260
261 log.error(message); 261 log.error(message);
262 if (globalOptions['trace'] && trace != null) { 262
263 log.error(trace); 263 if (trace != null) {
264 if (globalOptions['trace'] || !isUserFacingException(error)) {
265 log.error(trace);
266 } else {
267 log.fine(trace);
268 }
269 }
270
271 if (globalOptions['trace']) {
264 log.dumpTranscript(); 272 log.dumpTranscript();
265 } else { 273 } else if (!isUserFacingException(error)) {
266 log.fine(trace); 274 log.error("""
275 This is an unexpected error. Please run
276
277 pub --trace ${new Options().arguments.map((arg) => "'$arg'").join(' ')}
278
279 and include the results in a bug report on http://dartbug.com/new.
280 """);
267 } 281 }
268 282
269 exit(_chooseExitCode(error)); 283 exit(_chooseExitCode(error));
270 } 284 }
271 285
272 new Future.sync(() { 286 new Future.sync(() {
273 if (requiresEntrypoint) { 287 if (requiresEntrypoint) {
274 // TODO(rnystrom): Will eventually need better logic to walk up 288 // TODO(rnystrom): Will eventually need better logic to walk up
275 // subdirectories until we hit one that looks package-like. For now, 289 // subdirectories until we hit one that looks package-like. For now,
276 // just assume the cwd is it. 290 // just assume the cwd is it.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 if (exception is HttpException || exception is HttpParserException || 339 if (exception is HttpException || exception is HttpParserException ||
326 exception is SocketIOException || exception is PubHttpException) { 340 exception is SocketIOException || exception is PubHttpException) {
327 return exit_codes.UNAVAILABLE; 341 return exit_codes.UNAVAILABLE;
328 } else if (exception is FormatException) { 342 } else if (exception is FormatException) {
329 return exit_codes.DATA; 343 return exit_codes.DATA;
330 } else { 344 } else {
331 return 1; 345 return 1;
332 } 346 }
333 } 347 }
334 } 348 }
OLDNEW
« no previous file with comments | « utils/pub/io.dart ('k') | utils/pub/pubspec.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698